本文简要介绍ruby语言中  Array.array[index] =  的用法。
用法
array[index] = object → objectarray[start, length] = object → objectarray[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] =。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
