kind=defined
names=[]
visibility=public

--- [](nth)    -> object | nil

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

@param nth インデックスを整数で指定します。
       先頭の要素が 0 番目になります。nth の値が負の時には末尾からのインデックスと見倣します。末尾
       の要素が -1 番目になります。

例:

  a = [ "a", "b", "c", "d", "e" ]
  a[0]  #=> "a"
  a[1]  #=> "b"
  a[-1] #=> "e"
  a[-2] #=> "d"
  a[10] #=> nil

--- [](range)    -> Array | nil

[[c:Range]] オブジェクト range の範囲にある要素からなる部分配列を返します。
range の first の値が配列の範囲に収まらない場合 nil を返します。
range の first が end より後にある場合には空の配列を返します。

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

例:

  a = [ "a", "b", "c", "d", "e" ]
  a[0..1]   #=> ["a", "b"]
  a[0...1]  #=> ["a"]
  a[0..-1]  #=> ["a", "b", "c", "d", "e"]
  a[-2..-1] #=> ["d", "e"]
  a[-2..4]  #=> ["d", "e"]  (start は末尾から -2 番目、end は先頭から (4+1) 番目となる。)
  a[0..10]  #=> ["a", "b", "c", "d", "e"]
  a[10..11] #=> nil
  a[2..1]   #=> []
  a[-1..-2] #=> []
  
  # 特殊なケース。first が自身の長さと同じ場合には以下のようになります。
  a[5]                   #=> nil  
  a[5, 1]                #=> []
  a[5..10]               #=> []

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

start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。

@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
             start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。

@param length 生成したい部分配列の長さを整数で指定します。
              length が start 番目からの配列の長さより長い時には、越えた分の長さは無視されます。

例:

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

