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