Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何检查一个“整数”是否大于另一个“整数”;轻松地&引用;“有效地”吗;?_Ruby On Rails_Ruby_Ruby On Rails 3_Comparison_Integer - Fatal编程技术网

Ruby on rails 如何检查一个“整数”是否大于另一个“整数”;轻松地&引用;“有效地”吗;?

Ruby on rails 如何检查一个“整数”是否大于另一个“整数”;轻松地&引用;“有效地”吗;?,ruby-on-rails,ruby,ruby-on-rails-3,comparison,integer,Ruby On Rails,Ruby,Ruby On Rails 3,Comparison,Integer,我使用的是RubyonRails 3.2.2,我想检查一个整数是否大于0,更一般地说,一个整数是否大于另一个整数 有一些Ruby或RubyonRails方法可以“轻松”/“高效”地实现这一点 注意:我想在我的视图文件中使用/声明该方法,我认为,如果该方法不“存在”,最好在我的模型或控制器文件中声明一个“专用”方法,并在视图中使用该方法。每当我开始比较两个以上的整数时,我通常都会返回数组#max 这种方法的主要缺点是如果a==b,那么需要对这种情况进行特殊检查。或者你可以: [0, a, b +

我使用的是RubyonRails 3.2.2,我想检查一个
整数是否大于
0
,更一般地说,一个
整数是否大于另一个
整数

有一些Ruby或RubyonRails方法可以“轻松”/“高效”地实现这一点



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

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

这种方法的主要缺点是如果a==b,那么需要对这种情况进行特殊检查。或者你可以:

[0, a, b + 1].max == a

编辑: 此方法可能最适合您的助手。

如图所示:

a=(print“为a输入一个值:”;get)
b=(打印“为b输入一个值:”;gets).to_i
如果ab,则放置“#{a}大于#{b}”
如果a==b,则放置“#{a}等于#{b}”

您可以在
之间的视图中使用标准Ruby。是的,你可以实现一个helper来检查并在你的视图中使用这个helper方法。

是的,你能说说为什么
=
(Ruby中的comparison操作符都是方法。注意,
只是其中定义的一个方法,尽管它在Fixnum中是专用的。)@normalocity-我从未说过“the
=
@user12882,但也没有解释为什么所说的方法(具有语法魔力)不是“简单”或“有效的”。
1>2
相当于
1.\u发送(:>,2)
,两者都会导致错误。(注意,
1>2
也可以写成
(1)。>(2) 
,如果这更像是一个方法的话。在本例中需要第一个括号,因为使用了一个文本,并且裸
1。
将被视为浮点值:
a.>(b)
不需要引号。当然,你可以根据需要创建任意多的代理方法。但最终它们都将使用
Integer>Integer
)很好!我找了smth来替换
c=a
,这里是:
c=[a,b]。min
[0, a, b + 1].max == a
[0, a, b].max == a && a != b
a = (print "enter a value for a: "; gets).to_i
b = (print "enter a value for b: "; gets).to_i

puts "#{a} is less than #{b}" if a < b
puts "#{a} is greater than #{b}" if a > b
puts "#{a} is equal to #{b}" if a == b