2013-09-24 14 views
13

キーを印刷しようとしています。値 現在、コードを実行しようとするとエラーが発生します。Rubyの印刷ハッシュキーと値

コード:

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

私は、同じ行にこれを行う方法を把握することはできません。私は< <シンボルのようなさまざまな実装を試みました。また、複数のputsステートメントを使用して印刷したり、両方の値を文字列に追加して印刷したりしています。

+2

どのようなエラーが表示されますか? – sawa

+0

あなたが提供した少しの情報に基づいて前提を作ったが、正確なエラーと 'output.inspect'を使ってハッシュの内容を伝えれば助けになるだろう –

+0

"私は方法を理解できないこれを同じ行でやってください」 1つの行に複数のkey:valueのペアを出力しようとしていますか?あなたが達成しようとしている出力の例を挙げることができますか? – cduhn

答えて

21

Hashの内容に応じて、keyを記号の可能性があるため文字列に変換する必要があります。呼び出そうとしているので、

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

理由keyが実際に文字列でない場合は、エラーを取得している、次のとおりです。私は、やって使用する文字列補間を示唆しているものを

puts key.to_s + ' : ' + value 

あるいは、方法+は何でもkeyです。 +メソッドがない場合は、エラーが発生します。

+3

+1文字列補間用 – engineersmnky