我正在尝试将散列插入到数组中,按照以下示例:How to make dynamic multi-dimensional array in ruby? .出了什么问题?
@array = Array.new
test1 = {"key1" => "value1"}
test2 = {"key2" => "value2"}
test3 = {"key3" => "value3"}
@array.push(0)
@array[0] << test1
# ERROR: can't convert Hash into Integer
@array[0] << test2
@array.push(1)
@array[1] << test2
@array[1] << test3
最佳答案
<<
附加到数组,与 push
相同,所以就这样做:
@array << test1
或者,如果您想覆盖特定元素,请说 0
:
@array[0] = test1
或者您实际上想要一个二维数组,例如 @array[0][0]["key1"] == "value1"
?在这种情况下,您需要在尝试追加之前将空数组插入正确的位置:
@array[0] = []
@array[0] << test1
@array[0] << test2
@array[1] = []
@array[1] << test2
@array[1] << test3
关于ruby-on-rails - Ruby:将散列插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12754563/