Rubyのレシーバとは

Rubyのレシーバとは何でしょうか。
レシーバはselfなどで表され、Ruby以外のプログラミング言語にも共通して使われるオブジェクト指向一般の用語です。

Rubyのレシーバ

Rubyのレシーバはインスタンスメソッドを利用するインスタンス自身のことを指します。
例えば、次のプログラムをみてみましょう。

class Integer
  def even?
    if self % 2 == 0
      return true
    else
      return false
    end
  end
end

4.even? #=> true

このプログラムの場合、4がレシーバです。
レシーバはインスタンスメソッド内では「self」として記述することができます。

レシーバと呼ばれる理由

レシーバはメソッドの実行側のことを指します。
オブジェクト指向では処理をメッセージのやり取りによって行うという考え方があり、メソッドの実行側がこのメッセージの受け取り側と捉えることができます。そのためレシーバと呼ばれます。