Ruby: как показать хеш-ключи и значения в виде массива - PullRequest
0 голосов
/ 23 декабря 2018

Я хочу отобразить мои хэш-ключи и значения ответов в виде массива (в обычном английском языке мы называем это «набором ответов»; не путать с термином «набор», который отличается).Таким образом, вместо {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 голосов
/ 23 декабря 2018

Кредит: @ SergioTulentsev

В последней строке необходимо было исправить:

p two_sum(array, x).to_a

Вместо «put», «p» и суффикса .to_a решили проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...