selfについて学ぶ
疑似変数
self
現在のメソッドの実行主体。
self はその場所でのレシーバ(メソッドを呼び出されるオブジェクト)を返す。
インスタンスメソッドでの self は、そのクラスのインスタンスになる。
クラスメソッドでの self は、そのクラスになる。
メソッド内で他のメソッドを呼び出す場合は、暗黙的に self がレシーバとなる
ゲッターは self をつけなくても使えるが、 セッターは self をつけないと使えない
code:sample.rb
class User
attr_accessor :name
def initialize(name)
@name = name
end
def hello
"Hello, I am #{self.name}."
# "Hello, I am #{name}." でも同じ
end
def rename(new_name)
self.name = new_name
# name = new_name はローカル変数への代入とみなされる
end
end
#Rubyのメソッドについて学ぶ
#ゼロからわかる_Ruby_超入門
#プロを目指す人のためのRuby入門
#Rubyを学ぶ