Ruby 如何计算嵌套数组?
我有一个嵌套数组,需要计算内部数组中的每个项,如果它们满足两个条件,则返回“是”或“否”。在下面的示例中,它应该返回['no','yes','no'],但不返回Ruby 如何计算嵌套数组?,ruby,multidimensional-array,Ruby,Multidimensional Array,我有一个嵌套数组,需要计算内部数组中的每个项,如果它们满足两个条件,则返回“是”或“否”。在下面的示例中,它应该返回['no','yes','no'],但不返回 my_array= [[55,2], [62,3],[24,5]] result= Array.new my_array.map do |age, cap| if age > 60 && cap < 5 result.push("yes") else result.push("no")
my_array= [[55,2], [62,3],[24,5]]
result= Array.new
my_array.map do |age, cap|
if age > 60 && cap < 5
result.push("yes")
else
result.push("no")
end
end
您将看到my_array.map的计算结果 由于
push
返回您刚才推到的数组,因此您实际上是在映射三次结果,这样您的控制台输出就是[result,result,result]
,它扩展到[[“no”,“yes”,“no”],[“no”,“yes”,“no”],[“no”,“yes”,“no”]
试试这个:
my_array= [[55,2], [62,3],[24,5]]
result = my_array.map do |age, cap|
if age > 60 && cap < 5
"yes"
else
"no"
end
end
my_数组=[[55,2]、[62,3]、[24,5]]
结果=my_array.map do |年龄,上限|
如果年龄>60岁和上限<5岁
“是的”
其他的
“没有”
结束
结束
您将看到my\u array.map的评估结果
由于push
返回您刚才推到的数组,因此您实际上是在映射三次结果,这样您的控制台输出就是[result,result,result]
,它扩展到[[“no”,“yes”,“no”],[“no”,“yes”,“no”],[“no”,“yes”,“no”]
试试这个:
my_array= [[55,2], [62,3],[24,5]]
result = my_array.map do |age, cap|
if age > 60 && cap < 5
"yes"
else
"no"
end
end
my_数组=[[55,2]、[62,3]、[24,5]]
结果=my_array.map do |年龄,上限|
如果年龄>60岁和上限<5岁
“是的”
其他的
“没有”
结束
结束
看看这是否有效:
my_array = [[55, 2], [62, 3], [24, 5]]
result = my_array.map { |ary| (ary[0] > 60 && ary[1] < 5) ? 'yes' : 'no' }
my_数组=[[55,2]、[62,3]、[24,5]]
结果=my|u array.map{| ary |(ary[0]>60&&ary[1]<5)?“是”:“否”}
看看这是否有效:
my_array = [[55, 2], [62, 3], [24, 5]]
result = my_array.map { |ary| (ary[0] > 60 && ary[1] < 5) ? 'yes' : 'no' }
my_数组=[[55,2]、[62,3]、[24,5]]
结果=my|u array.map{| ary |(ary[0]>60&&ary[1]<5)?“是”:“否”}
您收到的错误消息是什么?您获取错误消息的代码是什么?根据您打算如何使用结果,计算my|u数组可能更方便。选择{age,cap | age>60&&cap<5}=>[[62,3]]。您得到的错误消息是什么?您获取错误消息的代码是什么?根据您打算如何使用结果,计算my|u数组可能更方便。my|u数组。选择{age,cap | age>60&&cap<5}=>[[62,3]]
。