使用Rails 3.這裏有一個樣品的方法:方法必須總是有回報?
def all_users
users.as_json
end
我們必須始終有一個方法return
?上述工作,但日
def all_users
u = users.as_json
u
end
另一件事,我試圖申請returning
,但它必須與do ... end
封閉?
任何更好的書寫方法?
使用Rails 3.這裏有一個樣品的方法:方法必須總是有回報?
def all_users
users.as_json
end
我們必須始終有一個方法return
?上述工作,但日
def all_users
u = users.as_json
u
end
另一件事,我試圖申請returning
,但它必須與do ... end
封閉?
任何更好的書寫方法?
Rubyists傾向於忽略return
關鍵字。所以你的情況,這是寫的方法
def all_users
users.as_json
end
和你的第二個問題
I tried to apply returning, but it must always be enclosed with do ... end?
do
和end
是作爲一個組合來寫的東西被稱爲「塊的首選方式「在Ruby中。實際上,塊是一種特殊類型的迭代方法,可用於數組,哈希,枚舉等。您不必在do
和end
中包含return
關鍵字。
在Ruby中,執行了最後的(感謝mharper)一行方法被返回。
所以這個:
def all_users
users.as_json
end
此:
def all_users
u = users.as_json
u
end
這:
def all_users
u = users.as_json
return u
end
做同樣的事情。
要充分說明,方法中最後一行*執行的值是return。考慮if-else語句的返回值作爲方法的主體。 – mharper 2013-03-02 01:08:19
很好的例子,我會用你的話更新我的答案。 :) – Kaeros 2013-03-02 01:11:06