比较两个值并在Ruby中创建它们的组合

比较两个值并在Ruby中创建它们的组合,ruby,Ruby,我有红宝石 data = [[a, foo, 10, 1990],[b, foo2, 10, 1990],[c, foo3, 10, 1990],[d, foo4, 10, 1990], [e, foo5, 10, 1990]] response = {{a, false},{b, false},{c, false},{e, false}} 响应是数据的结果,并携带ID数据和新值。我试图做的是生成一个新值,其中response用于查找值中的所有其他数据,并生成一个新数组,如 new = [[a

我有红宝石

data = [[a, foo, 10, 1990],[b, foo2, 10, 1990],[c, foo3, 10, 1990],[d, foo4, 10, 1990], [e, foo5, 10, 1990]]
response = {{a, false},{b, false},{c, false},{e, false}}
响应是数据的结果,并携带ID数据和新值。我试图做的是生成一个新值,其中response用于查找值中的所有其他数据,并生成一个新数组,如

new = [[a, foo, 10, 1990, false],[b, foo2, 10, 1990, false],[c, foo3, 10, 1990, false], [e, foo5, 10, 1990, false]]
响应将只包含数据中的元素,而不是所有元素

我尝试使用.each对数据进行迭代,但我似乎无法检查响应数据。我不知道怎么做

谢谢你的问题(2)不是数组,(3)不是散列,所以我不得不推测你到底想要什么

a = [[1,2,3],[2,3,4],[4,5,6]]
b = {1=>false, 2=>false}

ah = a.group_by(&:first)
b.map{|k,v| ah[k].first + [v]}
=> [[1, 2, 3, false], [2, 3, 4, false]]

尝试使用有效的ruby来描述问题(并使用实数而不是变量名)。它是ruby吗?我一定是误解了什么。试试irb的第二行回复。看看你得到了什么。对我不清楚的问题道歉,如果有帮助,我现在已经更新了,谢谢!