joh*_*han 17 arrays ruby-on-rails-3
有人可以告诉我如何声明一个二维数组的新实例?大多数语言都使用类似的东西
array = Array.new[2][2]
我不知道如何在Ruby中做到这一点.
请帮忙......
Mik*_*wis 37
你可以做:
width = 2
height = 3
Array.new(height){Array.new(width)} #=> [[nil, nil], [nil, nil], [nil, nil]]
Run Code Online (Sandbox Code Playgroud)
要在ruby中声明2d数组,请使用以下语法和初始化值
row, col, default_value = 5, 4, 0
arr_2d = Array.new(row){Array.new(col,default_value)}
=> [[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
我们可以进行任何级别的嵌套,比如3d数组(5 x 4 x 2):你可以在大多数内部数组中传递块来初始化数组
z = 2
arr_3d = Array.new(row){Array.new(col){Array.new(z){|index| index}}}
=> [[[0, 1], [0, 1], [0, 1], [0, 1]],
[[0, 1], [0, 1], [0, 1], [0, 1]],
[[0, 1], [0, 1], [0, 1], [0, 1]],
[[0, 1], [0, 1], [0, 1], [0, 1]],
[[0, 1], [0, 1], [0, 1], [0, 1]]]
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用[]运算符访问其元素,如arr_2d [0] [1], actually its array of arrays
归档时间: |
|
查看次数: |
18360 次 |
最近记录: |