我使用以下代码来检查变量是否为零而不是零
if(discount != nil && discount != 0)
...
end
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
在我的模型中,有许多属性和方法可以根据模型实例的属性执行一些计算.如果计算所依赖的属性为零,我一直在使用返回nil的方法.作为这个设计决定的结果,我在我的视图中显示这些值之前做了很多零检查.
当我们没有足够的信息时,我想过让这些方法返回零而不是零,但是我选择了nil,因为零是一个有效的计算结果,而nil意味着没有足够的信息.
我应该返回0而不是nil吗?我可以使用任何其他模式来避免在我的视图中进行一堆零检查吗?
我正在查看Rails的ActiveSupport扩展,遇到了“输入?”字样。方法。对我来说,它的外观和工作方式与“ include?”完全相同 方法,但只是相反。
([1..5]).include? 1
1.in? ([1..5])
Run Code Online (Sandbox Code Playgroud)
我一直在使用“包含?” 自从我第一次开始使用Rails以来,这种方法非常有趣,因为还有另一种方法可以做完全相同的事情。我缺少的两种方法有什么区别吗?
编辑
在任何情况下都使用“输入”吗?会比使用“包含”受益更多??因为现在,我只能想到的是“在吗?” 给“ include”一个相当无意义的方法是什么?为此目的已经存在。