PUROGU LADESU

ポエムがメインのブログです。

【Ruby】メソッドの末尾にイコール

メソッドの末尾にイコールが付いてるのはなんだろうと思って調べてみると、 別に何のことはないそういうメソッド名だということだ。

こういうのがくっついてるとなにか特別な意味があるのかもとか、 別の演算子なのかと思ってしまうが大抵はなんとも無い。

実に紛らわしい。

多分セッターメソッドですよということを簡潔に表せるのが利点なのかな。 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