puts
を使用するときの出力を理解しようとしています。 puts
は本当にnilを返すことを知っていますが、ハッシュで作業するときに何かを見つけました。putsの出力を理解する
puts
が意図したとおりに動作していても、特定の形式ですべてのキー/値のペアを出力するようにしたいと考えていました。私はこれを防ぐ方法を考えていた。
@hash.each do |key,val|
puts "[#{key}] '#{val}'"
end
[fish] 'aquatic animal'
[zebra] 'African land animal with stripes'
[apple] 'fruit'
=> {"fish"=>"aquatic animal", "zebra"=>"African land animal with stripes", "apple"=>"fruit"}
実際には「端末」は何も印刷しません。それは印刷しているコードです。端末はそれを表示します。 'ruby some_script.rb'を使ってコードを実行すると、' puts'がないので、 'each'の戻り値は表示されません。 'puts @ hash.each ...'が必要です。出力があるため、RubyではなくIRBまたはPryを直接使用しているように見えます。実際に何が起こっているのか混乱しています。 IRB/Pryは非常に便利なツールですが、Rubyインタプリタとの相違点を念頭に置いておく必要があります。 –