Ruby 初心者スレッド Part 39
■ このスレッドは過去ログ倉庫に格納されています
0598デフォルトの名無しさん
2010/11/22(月) 16:54:00selfの意味は「文脈」によって変わる。たとえば>>594であれば、前半の
class MyClass1
def self.defile_m(name) # 本当に必要な場合を除いて、オヌスメしない
だと self はクラス MyClass1 を指す。言い換えると、上のコードは以下と等しい。
class MyClass1
def MyClass1.defile_m(name) # 慣れぬうちは、(いくらか面倒でも)こちらがオヌヌメ
これは、クラスMyClass1への「クラスメソッド」の定義を意味する。そして、後半の
class MyClass2
def defile_m(name)
は、MyClass2への「インスタンスメソッド」の定義を意味する。
これが、いわゆる普通のメソッド定義と呼ばれるもの。
■ このスレッドは過去ログ倉庫に格納されています