Ruby print хэш-ключ и значение [закрыто]


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

Код:

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

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

1 18

1 ответ:

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

puts key.to_s + ' : ' + value

Или, что я бы предложил сделать, использовать строковую интерполяцию:

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

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