Ruby:将哈希插入数组?

mig*_*igu 4 ruby ruby-on-rails

我正在尝试将哈希插入到数组中,遵循以下示例:如何在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  
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 9

<<追加到数组,同样push如此:

@array << test1
Run Code Online (Sandbox Code Playgroud)

或者,如果要覆盖特定元素,请说0:

@array[0] = test1
Run Code Online (Sandbox Code Playgroud)

或者你真的想要一个二维数组,这样@array[0][0]["key1"] == "value1"吗?在这种情况下,您需要在尝试追加它们之前将空数组插入正确的位置:

@array[0] = []
@array[0] << test1
@array[0] << test2    
@array[1] = []
@array[1] << test2
@array[1] << test3 
Run Code Online (Sandbox Code Playgroud)