2011-08-03 136 views
2

我正在使用Rails 2.3.2,而且我真的錯過了這裏重要的東西。在Ruby on Rails中的調用方法

我在我的lib文件夾中的一些文件名爲.rb和他們中的一個,我得到了一個行說

User.new(x,y,z) 

但是當我去user.rb這也坐在lib文件夾中,我找不到用new定義的任何方法。當我看着初始化,它只是分配進入屬性的變量,例如

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

你們能告訴我什麼,我真的錯過這裏。我知道我錯過了一些非常重要的事情。

由於

回答

1

在Ruby(不僅Rails)的調用ClassName.new()調用從這個類initialize方法爲...以及..初始化創建的對象。該initialize方法將被傳遞傳遞給new()

看到這裏有關詳細信息,所有參數:http://ruby-doc.org/docs/ProgrammingRuby/html/tut_classes.html

+0

那麼,除此之外,沒有什麼事情發生? – kill007

+0

除了正在創建的對象和分配給類變量的參數值以外?不。 – Mchl

+0

'initialize'方法會自動調用傳遞給'new'的參數,因此當您調用'new'時,該方法中的任何內容都將被執行。 – Karl