Array#[]=的文档指出
如果索引大于数组的当前容量,则数组会自动增长。
当它确实自动增长时,它会使用nil
值:
arr = []
arr[2] = "!"
arr # => [nil, nil, "!"]
是否可以指定前两个值的默认值?
目前,我正在做
arr = []
index = 2
currently_uninitialized_value_range = (arr.length)...(index)
default_values = currently_uninitialized_value_range.map{ "" }
arr[currently_uninitialized_value_range] = default_values
arr[index] = "!"
arr # => ["", "", "!"]
这有点冗长。
我使用的是数组,而不是哈希,因为它们代表我将要输入到电子表格中的值,而我正在使用的库 (Axlsx) 更喜欢逐行添加数据。