Ruby:如何将散列键和值显示为数组



我想将我的答案哈希键和值显示为数组(在普通英语中,我们称之为"答案集";不要与不同的编程术语"集"混淆)。所以,我可以显示[a, 12] [b, 10],而不是{a => 12} {b => 10}

我知道如何打印/返回值,但我也想显示相应值的键。

我正在检查一个数组中的一堆数字,看看它们中的哪一个加起来就是我要找的数字。例如:([1,2,3,4,5],6)。我可以得到做所有运算的函数,并给出结果。但我希望结果显示为一组答案(或者在英语中,"一组答案"),而不仅仅是散列。因此,对于上面的例子,答案看起来是:[1, 5] [2,4]

array = [1, 2, 3, 4]
x = 5
def two_sum(array, x)
set_nums = {}
array.each do |y|
difference = x - y
if set_nums[difference]
return set_nums
end
set_nums[y] = difference
end
return 'unable to find pairs'
end
puts two_sum(array, x)

我想要[1, 4], [2, 3]

现在实际:{1=>4, 2=>3}

来源:@SergioTulentsev

最后一行需要更正为:

p two_sum(array, x).to_a

代替"put","p"和后缀.to_a解决了问题

最新更新