【发布时间】:2013-09-06 13:01:06
【问题描述】:
我正在尝试测试我的变量是否为整数,这是代码:
if (params[:int1].is_a?(Integer) && params[:int2].is_a?(Integer))
add(params[:int1], params[:int2])
else
puts "Need two integers"
end
如果你知道它为什么不起作用,你就会引起我的注意。
【问题讨论】:
-
定义“不起作用”
-
is_a?检查确切的类型,并且不在字符串和整数类型之间执行任何强制转换。我的猜测是你的参数是字符串。尝试使用正则表达式检查它们是否为数字或构造整数并捕获参数错误。 -
params[] 要么是字符串,要么是 nil。
params[].is_a?(Integer)永远不会是真的。
标签: ruby