selfを理解する
mom0tomo.hateblo.jp 前回の続き。
selfについて、実務であまり使うこともなくちゃんと理解しているのが怪しかったので確認する。
self は、クラス内部の変数やメソッドを明示して使うときに利用する。
class Person attr_accessor :name, :age def initialize self.name = 'もも' self.age = 22 end def cording(programing_language) puts "#{self.name}は#{programing_language}を利用しています。" end end mom0tomo = Person.new mom0tomo.cording('Go言語ʕ ◔ϖ◔ʔ') # ももはGo言語ʕ ◔ϖ◔ʔを利用しています。 p mom0tomo # #<Person:0x00007fa1b684d640 @name="もも", @age=22>
selfは、呼び出されたときのインスタンス (ここではmom0tomo)を指す。
つまり、mom0tomoインスタンスから cording('Go言語ʕ ◔ϖ◔ʔ')メソッドが呼び出されたとき、
mom0tomo.cording('Go言語ʕ ◔ϖ◔ʔ')
mom0tomo.
が、 self.
に代入される。