如何检查`Integer`是否比其他'Integer`"更容易"/"有效"?

use*_*882 2 ruby comparison integer ruby-on-rails ruby-on-rails-3

我正在使用Ruby on Rails 3.2.2,我想检查a Integer是否大于,0而且更一般地说,如果a Integer大于另一个Integer.

有一些Ruby或Ruby on Rails 方法可以"轻松"/"有效"地实现这一目标吗?


注意:我想在我的视图文件中使用/声明该方法,我认为,如果该方法不"存在",最好在我的模型或控制器文件中声明"专用"方法并使用该方法我的看法.

Dan*_*ans 8

每当我开始比较两个以上的整数时,我通常会回到数组#max.

a = 1
b = 2
[0, a, b].max == a # false

a = 3
[0, a, b].max == a # true
Run Code Online (Sandbox Code Playgroud)

这个的主要缺点是如果a == b,那么需要对该情况进行特殊检查.或者你可以这样做:

[0, a, b + 1].max == a
Run Code Online (Sandbox Code Playgroud)

要么

[0, a, b].max == a && a != b
Run Code Online (Sandbox Code Playgroud)

编辑:这种方法可能最适合你的助手.

  • 精细!我找了smth来代替`c = a <b?a:b`,这里是:`c = [a,b] .min` (2认同)