Ruby:如何将哈希键和值显示为数组

时间:2018-12-22 22:17:20

标签: arrays ruby hash

我想将我的答案哈希键和值显示为一个数组(普通英语中,我们称其为“答案集”;不要与编程术语“集合”相混淆)。因此,我可以显示{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}

1 个答案:

答案 0 :(得分:0)

信用:@SergioTulentsev

最后一行需要更正:

p two_sum(array, x).to_a

解决了该问题,代替了“ put”,“ p”和后缀.to_a