Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array#[] で、始点が配列の要素数と等しい場合の説明を明確にした #2827

Merged
merged 1 commit into from
Dec 9, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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