メソッドの末尾にイコールが付いてるのはなんだろうと思って調べてみると、 別に何のことはないそういうメソッド名だということだ。
こういうのがくっついてるとなにか特別な意味があるのかもとか、 別の演算子なのかと思ってしまうが大抵はなんとも無い。
実に紛らわしい。
多分セッターメソッドですよということを簡潔に表せるのが利点なのかな。 set_xxxxをつけたくないといということなのかな。
メソッド呼び出しにカッコが必須でないということを利用しているようだが、 これもハマリポイントですよね。 タイピングはしやすいけれども、メソッドなのかどうかがひと目で判断できない。
class Test attr_reader :salary def salary=(salary) @salary = salary puts "I am called" end end t = Test.new t.salary = 1000 # t.salary=(1000) puts t.salary