Ruby で使っている構文が言語のキーワードなのか、単なるメソッドなのかわからなくなってきたので調べてみた。
以下の単語が Ruby 2.1 現在のキーワード(というか、予約語)にあたる。
BEGIN class ensure nil self when END def false not super while alias defined? for or then yield and do if redo true __LINE__ begin else in rescue undef __FILE__ break elsif module retry unless __ENCODING__ case end next return until
見てわかるとおり、ほとんどが制御構文ですね。
よく使われている include
や private
、attr_accessor
などはすべて言語キーワードではなくて、メソッドになります。
Ruby を書くときはそれがメソッドなのかどうなのかを意識して書けるようになりたいですねぇ。