我可以在ruby中不返回任何内容吗?
只是为了教育目的
例如:
myarray = [1,2,3]
myarray << some_method
def some_method
if Date.today.day > 15
return "Trololo"
else
return __NOTHING__
end
end
因此,如果今天是3月11日,myarray
将不会添加新项目。我不想要nil
-因为nil
不是什么都不是:)
我知道,我可以使用if | unless
语句,比如myarray << some_method if some_method
等。我想知道我可以返回nothing吗?或者每次在ruby中,我返回(至少我可以得到的是Nil Object)
发布于 2011-03-11 08:52:56
基本上,您正在寻找的是一条语句。但是Ruby没有语句,只有表达式。一切都是一个表达式,也就是说,一切都会返回一个值。
发布于 2011-03-11 08:00:19
不,你不能什么都不退还。在ruby中,你总是返回一些东西(即使只是nil
) --这是没有办法的。
发布于 2011-03-11 08:03:51
你不能从ruby的方法中返回"nothing“。正如您所指出的,您可以有条件地向数组中添加元素。您还可以在数组上调用.compact来删除所有nil元素。
https://stackoverflow.com/questions/5267412
复制相似问题