使用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