書くのが楽しいプログラミング言語であるRubyですが、それでも「落とし穴」がいくつも存在します。 その中から私が最近ハマった落とし穴を7つ紹介します。 シンボルと文字列は異なる Rubyには「文字列(String)」("a" とか 'Hello world!')の他に、文字列に似た「シンボル(Symbol)」(:aとか:hello_worldとか)があります。*1。両者は異なる型なので、例えば 'a' != :a となります。 そのため、キーがシンボルであるハッシュ(Hash)から、文字列を使って値を取り出そうとするとnilが返されます。 h = { :ja => '日本語', :en => '英語', :fr => 'フランス語' } p h['ja'] # => nil p h[:ja] # => "日本語" ちなみに、シンボルはハッシュのキーとしてよく使われるため、=> を使わない短