本文簡要介紹ruby語言中 Array.array[index] =
的用法。
用法
array[index] = object → object
array[start, length] = object → object
array[range] = object → object
分配 self
中的元素;返回給定的 object
。
當給定整數參數 index
時,將 object
分配給 self
中的元素。
如果 index
為非負數,則將 object
分配給偏移量 index
的元素:
a = [:foo, 'bar', 2]
a[0] = 'foo' # => "foo"
a # => ["foo", "bar", 2]
如果 index
大於 self.length
,則擴展數組:
a = [:foo, 'bar', 2]
a[7] = 'foo' # => "foo"
a # => [:foo, "bar", 2, nil, nil, nil, nil, "foo"]
如果index
為負數,則從數組末尾倒數:
a = [:foo, 'bar', 2]
a[-1] = 'two' # => "two"
a # => [:foo, "bar", "two"]
當給定整數參數 start
和 length
且 object
不是數組時,刪除從偏移量 start
開始的 length - 1
元素,並在偏移量 start
處分配 object
:
a = [:foo, 'bar', 2]
a[0, 2] = 'foo' # => "foo"
a # => ["foo", 2]
如果start
為負數,則從數組末尾倒數:
a = [:foo, 'bar', 2]
a[-2, 2] = 'foo' # => "foo"
a # => [:foo, "foo"]
如果 start
是非負數且在數組之外 ( >= self.size
),則使用 nil
擴展數組,在偏移量 start
處分配 object
並忽略 length
:
a = [:foo, 'bar', 2]
a[6, 50] = 'foo' # => "foo"
a # => [:foo, "bar", 2, nil, nil, nil, "foo"]
如果 length
為零,則在偏移量 start
及其後移動元素,並在偏移量 start
處分配 object
:
a = [:foo, 'bar', 2]
a[1, 0] = 'foo' # => "foo"
a # => [:foo, "foo", "bar", 2]
如果length
對於現有數組來說太大,則不擴展數組:
a = [:foo, 'bar', 2]
a[1, 5] = 'foo' # => "foo"
a # => [:foo, "foo"]
當 Range 參數 range
給出且 object
是一個數組時,刪除從偏移量 start
開始的 length - 1
元素,並在偏移量 start
處分配 object
:
a = [:foo, 'bar', 2]
a[0..1] = 'foo' # => "foo"
a # => ["foo", 2]
如果 range.begin
為負數,則從數組末尾倒數:
a = [:foo, 'bar', 2]
a[-2..2] = 'foo' # => "foo"
a # => [:foo, "foo"]
如果數組長度小於 range.begin
,則在偏移量 range.begin
處分配 object
,並忽略 length
:
a = [:foo, 'bar', 2]
a[6..50] = 'foo' # => "foo"
a # => [:foo, "bar", 2, nil, nil, nil, "foo"]
如果 range.end
為零,則在偏移量 start
及其後移動元素,並在偏移量 start
處分配 object
:
a = [:foo, 'bar', 2]
a[1..0] = 'foo' # => "foo"
a # => [:foo, "foo", "bar", 2]
如果 range.end
為負數,則在偏移量 start
處分配 object
,保留其後的 range.end.abs -1
元素,並刪除超出的元素:
a = [:foo, 'bar', 2]
a[1..-1] = 'foo' # => "foo"
a # => [:foo, "foo"]
a = [:foo, 'bar', 2]
a[1..-2] = 'foo' # => "foo"
a # => [:foo, "foo", 2]
a = [:foo, 'bar', 2]
a[1..-3] = 'foo' # => "foo"
a # => [:foo, "foo", "bar", 2]
a = [:foo, 'bar', 2]
如果 range.end
對於現有數組來說太大,則替換數組元素,但不使用 nil
值擴展數組:
a = [:foo, 'bar', 2]
a[1..5] = 'foo' # => "foo"
a # => [:foo, "foo"]
相關用法
- Ruby Array.array[index]用法及代碼示例
- Ruby Array.array + other_array用法及代碼示例
- Ruby Array.array | other_array用法及代碼示例
- Ruby Array.array ==用法及代碼示例
- Ruby Array.array & other_array用法及代碼示例
- Ruby Array.array <=>用法及代碼示例
- Ruby Array.array << object用法及代碼示例
- Ruby Array.array * n用法及代碼示例
- Ruby Array.array - other_array用法及代碼示例
- Ruby Array.assoc(obj)用法及代碼示例
- Ruby Array.abbrev用法及代碼示例
- Ruby Array.assoc用法及代碼示例
- Ruby Array.all?用法及代碼示例
- Ruby Array.at用法及代碼示例
- Ruby Array.append用法及代碼示例
- Ruby Array.any?用法及代碼示例
- Ruby Array.push用法及代碼示例
- Ruby Array.hash用法及代碼示例
- Ruby Array.to_a用法及代碼示例
- Ruby Array.to_h用法及代碼示例
- Ruby Array.to_s用法及代碼示例
- Ruby Array.take()用法及代碼示例
- Ruby Array.reject!用法及代碼示例
- Ruby Array.flatten!用法及代碼示例
- Ruby Array.reject用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Array.array[index] =。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。