23

我正在尝试打印 key : value 目前,当我尝试运行我的代码时,我不断收到错误消息。

编码:

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

我想不出在同一条线上执行此操作的方法。我尝试了各种实现,例如使用 << 符号。我也玩过 print,使用多个 puts 语句,并将两个值附加到一个字符串中并打印出来。

4

1 回答 1

32

根据您的内容Hash,您可能需要将 转换key为字符串,因为它可能是一个符号。

puts key.to_s + ' : ' + value

或者,我建议使用字符串插值:

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

key如果确实不是字符串,您收到错误的原因是因为它试图+在任何key情况下调用该方法。如果它没有+方法,你会得到一个错误。

于 2013-09-24T19:59:57.373 回答