[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:2706

From: Nobuhiro IMAI <nov@y...>
Date: Thu, 9 Jun 2011 21:41:37 +0900
Subject: [ruby-reference-manual:2706] [るりまプロジェクト - Bug #4857][Assigned] String#[range]


Issue #4857 has been reported by Nobuhiro IMAI.

----------------------------------------
Bug #4857: String#[range]
http://redmine.ruby-lang.org/issues/4857

Author: Nobuhiro IMAI
Status: Assigned
Priority: Normal
Assignee: Nobuhiro IMAI
Category: doc
Target version: 
reporter: 
ruby_version: 


https://twitter.com/#!/masuidrive/status/78736550590029824
https://twitter.com/#!/yukihiro_matz/status/78743935467536384
https://twitter.com/#!/no6v/status/78749572842790912
https://twitter.com/#!/yukihiro_matz/status/78751761661313024

と言う訳で、例を修正・追加して、説明から不要な条件を削除しようと思います。
問題があるようならご指摘ください。

diff --git a/refm/api/src/_builtin/String b/refm/api/src/_builtin/String
index f49f228..e00018a 100644
--- a/refm/api/src/_builtin/String
+++ b/refm/api/src/_builtin/String
@@ -574,8 +574,7 @@ range
 range.last が文字列の長さ以上のときは

 (文字列の長さ - 1) を指定したものとみなされます。
 
-range.first が 0 より小さいか文字列の長さより大きいとき、
-および range.first > range.last + 1 であるときは nil を
+range.first が 0 より小さいか文字列の長さより大きいときは nil を
 返します。ただし range.first および range.last のどちらか
 または両方が負の数のときは一度だけ文字列の長さを足して

 再試行します。
@@ -593,7 +592,8 @@ range.first 
   'abcd'[ 1 ..  2] # => "bc"
   'abcd'[ 2 ..  2] # =>  "c"
   'abcd'[ 3 ..  2] # =>   ""
-  'abcd'[ 4 ..  2] # =>  nil
+  'abcd'[ 4 ..  2] # =>   ""
+  'abcd'[ 5 ..  2] # =>  nil
 
   'abcd'[-3 ..  2] # =>  "bc"
   'abcd'[-4 ..  2] # => "abc"
@@ -613,8 +613,7 @@ range.first 
 range.last が文字列の長さよりも大きいときは文字列の長さを
 指定したものとみなされます。
 
-range.first が 0 より小さいか文字列の長さより大きいとき、
-および range.first > range.last であるときは nil を返します。
+range.first が 0 より小さいか文字列の長さより大きいときは nil を返します。
 ただし range.first と range.last のどちらかまたは両方が負の数

 であるときは一度だけ文字列の長さを足して再試行します。
 
@@ -625,7 +624,9 @@ range.first 
 
     'abcd'[ 1 ... 2] # => "b"
     'abcd'[ 2 ... 2] # => ""
-    'abcd'[ 3 ... 2] # => nil
+    'abcd'[ 3 ... 2] # => ""
+    'abcd'[ 4 ... 2] # => ""
+    'abcd'[ 5 ... 2] # => nil
 
     'abcd'[-3 ... 2] # => "b"
     'abcd'[-4 ... 2] # => "ab"



-- 
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    2706 2011-06-09 14:41 [nov@y...            ] [るりまプロジェクト - Bug #4857][Assigned] String#[range]
      2707 2011-06-09 17:38 ┗[okkez000@g...       ]                                       
      2708 2011-06-09 17:58  ┗[nov@y...            ]                                     
      2709 2011-06-09 18:21   ┗[okkez000@g...       ]