Skip to content

Commit

Permalink
Merge pull request #2827 from kyanagi/fix_array_slice_start_border
Browse files Browse the repository at this point in the history
Array#[] で、始点が配列の要素数と等しい場合の説明を明確にした
  • Loading branch information
znz authored Dec 9, 2023
2 parents 91fa497 + ca37634 commit e6d32c3
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions refm/api/src/_builtin/Array
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,11 @@ a[10] #=> nil
--- [](range) -> Array | nil

[[c:Range]] オブジェクト range の範囲にある要素からなる部分配列を返します。
range の first の値が配列の範囲に収まらない場合 nil を返します。
range の first が end より後にある場合には空の配列を返します。
range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します
range の begin が end より後にある場合には空の配列を返します。

@param range 生成したい部分配列の範囲を [[c:Range]] オブジェクトで指定します。
range の first や end の値が負の時には末尾からのインデックスと見倣します。末尾
range の begin や end の値が負の時には末尾からのインデックスと見倣します。末尾
の要素が -1 番目になります。
end の値が配列の範囲を越える時には、越えた分は無視されます。

Expand All @@ -157,16 +157,16 @@ a[10..11] #=> nil
a[2..1] #=> []
a[-1..-2] #=> []

# 特殊なケース。first が自身の長さと同じ場合には以下のようになります。
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
# 特殊なケース。begin が自身の長さと同じ場合には以下のようになります。
a[5] #=> nil
a[5..10] #=> []
#@end

--- [](start, length) -> Array | nil

start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。
start が自身の範囲外となる時は nil を返します。ただし、start が配列の長さに等しいときは空の配列を返します。
length が負の時は nil を返します。

@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。
Expand All @@ -193,9 +193,8 @@ a[0, -1] #=> nil
a[10, 1] #=> nil

# 特殊なケース。start が自身の長さと同じ場合には以下のようになります。
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
a[5] #=> nil
a[5, 1] #=> []
#@end

--- []=(nth, val)
Expand Down

0 comments on commit e6d32c3

Please sign in to comment.