Ручная печать хэш-ключа и значения

Я пытаюсь напечатать ключ: значение В настоящее время я продолжаю получать ошибки, когда пытаюсь запустить мои коды.

Код:

output.each do |key, value|
    puts key + ' : ' + value
end

Я не могу найти способ сделать это в той же строке. Я пробовал различные реализации, например, используя < символ. Я также играл с печатью, используя несколько операторов puts и добавляя оба значения в строку и печатая их.

Ответ 1

В зависимости от содержимого вашего Hash вам может потребоваться преобразовать key в строку, поскольку это может быть символ.

puts key.to_s + ' : ' + value

Или, что я предлагаю сделать, используйте интерполяцию строк:

puts "#{key}:#{value}"

Причина, по которой вы получаете ошибку, если key действительно не является строкой, заключается в том, что она пытается вызвать метод + на любом key. Если у него нет метода +, вы получите сообщение об ошибке.