Key:valueを印刷しようとしています現在、コードを実行しようとするとエラーが発生し続けます。
コード:
output.each do |key, value|
puts key + ' : ' + value
end
同じ行でこれを行う方法がわかりません。 <<記号の使用など、さまざまな実装を試しました。また、複数のputsステートメントを使用し、文字列に両方の値を追加して印刷するprintをいじくりました。
Hash
の内容によっては、key
が記号である可能性があるため、文字列に変換する必要がある場合があります。
puts key.to_s + ' : ' + value
または、文字列補間を使用することをお勧めします:
puts "#{key}:#{value}"
key
が実際に文字列ではない場合にエラーが発生する理由は、key
が何であっても+
メソッドを呼び出そうとしているためです。 +
メソッドがない場合、エラーが発生します。