Rubyのselfとは(図あり)

スポンサーリンク

rubyのselfとは

間違っているかもしれないので参考程度に。興味ない人は読み飛ばしでお願いします。

Ruby self
selfはオブジェクトを参照していることに注意が必要です。図のようなイメージです。

インスタンスメソッド「sayHi」の中でself.nameとするとselfは「そのメソッドを実行している「オブジェクト」」を参照する。

まずはじめにself.nameの .nameメソッド→これは

attr_accessor :name

と記述しておかないと、.nameメソッドが作られていないことになるのでattr_accessorが必要。メソッドを受け取っているもののことをレシーバーといいます。レシーバーに気を取られていると大事なことを見失う。

User.new(“tom”)

としてインスタンスを生成すると自動的にdefinitializeメソッドが呼び出されることになります。

コメント

タイトルとURLをコピーしました