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”]
。我的建议是,比起采取现成的解决方案,你可以从错误中学到更多,更努力地思考问题。