Ruby 从数组数组中选择行
我正在尝试使用一个已定义的方法打印以下数组数组的第四行,可能是在一个类中Ruby 从数组数组中选择行,ruby,arrays,Ruby,Arrays,我正在尝试使用一个已定义的方法打印以下数组数组的第四行,可能是在一个类中 array_of_arrays = [ ["1", "2", "3", "4"], ["g", "h", "y", "t"], ["p", "v", "b", "q"], ["z", "z", "z", "z"] ] 我尝试了几个,但它不起作用,因为我需要调用方法中的特定行。虽然我熟悉(.slice)之类的链接方法,但我需要在类中定义一个方法,以生成预期的行。我尝试过使用散列和块进行实验,但它们似乎对我的
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
因此,我想定义一个可以调用给定行的方法;因此,使用方法从_数组中的数组_调用第4行将输出[“z”、“z”、“z”、“z”]。谢谢 如果您真的想要一种方法,请使用
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
Cary Swoveland的评论是做同样事情的另一种语法,也是更常见的方式:
array_of_arrays[3] #=> ["z", "z", "z", "z"]
你的问题是什么?我认为
放置数组中的数组[3]
可能是你正在寻找的。我需要这样报告[“z”、“z”、“z”、“z”]你认为hsh=…
代码片段与解决方案有什么关系?我建议你花点时间重新考虑一下你的问题和它的要求。我不是故意粗鲁的。我只是好奇为什么你认为{“1”=>“2”,“g”=>“h”,“p”=>“v”,“z”=>“z”}
甚至接近[“z”,“z”,“z”]
。我的建议是,比起采取现成的解决方案,你可以从错误中学到更多,更努力地思考问题。