我尝试使用已定义的方法(可能在类中)打印以下数组数组的第四行。
array_of_arrays = [
["1", "2", "3", "4"],
["g", "h", "y", "t"],
["p", "v", "b", "q"],
["z", "z", "z", "z"]
]
我尝试了几个,但它不起作用,因为我需要调用方法中的特定行。虽然我熟悉链接方法(如.slice),但我需要在类中定义一个方法,该方法将产生预期的行。我尝试过哈希和块试验,但它们似乎不适用于我的解决方案。我真的很想找到替代品。谢谢!
hsh = {}
array_of_arrays.each { |x| hsh[x[0]] = x[1]}
p array_of_arrays.map { |row| row[2] }
p array_of_arrays { |row| row.values }
hsh_boggled = {}
array_of_arrays.each do |x|
key = x[0]
val = x[1]
hsh_boggled[key] = val
end
所以,我想定义一个可以调用给定行的方法;因此,使用方法从array_of_arrays调用第4行将输出[" z"," z"," z"," z"]。谢谢!
答案 0 :(得分:2)
如果您真的想要一种方法,请使用slice。
array_of_arrays.slice(3) #=> ["z", "z", "z", "z"]
Cary Swoveland的评论是做同样事情的替代语法,也是更常见的方法:
array_of_arrays[3] #=> ["z", "z", "z", "z"]