2011-08-03 13 views
2

私はRails 2.3.2を使用しています。 Ruby on Railsの呼び出しメソッド

私は私のlibフォルダにいくつかの.RBファイルを持って、そのうちの一つで、私は

User.new(x,y,z) 

を言っラインを得た。しかし、私はまた、libフォルダに座っているuser.rbに行くとき、I新しいメソッドでは定義されていません。私は初期化子を見てみると、それはちょうど私が本当にここに行方不明です何君たちが私に教えてくださいすることができ

def initialize(x,y,z) 
    @x = x 
    @y = y 
    @z = z 
end 

のような変数に入ってくるの属性を割り当てます。私は何かが本当に重要でないことを知っています。 ClassName.new()を呼び出し

おかげで、Rubyで

答えて

1

(だけではなく、Railsは)...よく..作成されたオブジェクトを初期化するために、このクラスからinitializeメソッドを呼び出します。だから、http://ruby-doc.org/docs/ProgrammingRuby/html/tut_classes.html

+0

、その何よりも他の起こるために起こっている:initialize方法は

詳細はこちらをご覧くださいnew()に渡されるすべての引数を渡されますか? – kill007

+0

作成されているオブジェクトとクラス変数に割り当てられた引数の値以外は?いいえ。 – Mchl

+0

'initialize'メソッドは' new'に渡す引数で自動的に呼び出されるので、 'new'を呼び出すときにそのメソッドにあるものはすべて実行されます。 – Karl

関連する問題