def initializeこれで、newする際に実行される初期化処理が用意できます。もし、このときに何らかの値が必要な場合には引数を設定することも可能です。
……初期化処理……
end
class Heloここでは、「def initialize(name="noname")」というようにしてコンストラクタを定義していますね。これにより、名前の値をnewする際に渡せるようになります。よく見ると、initialize(name)ではなく、initialize(name="noname")というように、変数に"noname"という値を代入しているような書き方をしていますが、これは引数の初期値を指定するものです。つまり、メソッドを呼び出したときにこの引数の値が用意されていなかった場合には、初期値の"noname"が代りに使われる、というわけです。
def initialize(name="noname")
@name = name
end
def say
puts("Hello, " + @name + "!!")
end
end
obj = Helo.new("花子")
obj.say
@name = name普通に「name」という変数名ではなく、頭に@記号がつけられています。これは「インスタンス変数」と呼ばれる、特別な役割を持つ変数なのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※サンプルコード class Helo def initialize(name="noname") @name = name end def say puts("Hello, " + @name + "!!") end end obj = Helo.new("花子") obj.say
<< 前へ |