我正在尝试测试我的变量是否为整数,这是代码:
if (params[:int1].is_a?(Integer) && params[:int2].is_a?(Integer))
add(params[:int1], params[:int2])
else
puts "Need two integers"
end
如果你知道它为什么不起作用,你就会引起我的注意。
我正在尝试测试我的变量是否为整数,这是代码:
if (params[:int1].is_a?(Integer) && params[:int2].is_a?(Integer))
add(params[:int1], params[:int2])
else
puts "Need two integers"
end
如果你知道它为什么不起作用,你就会引起我的注意。
params= { int1: "1" }
puts params[:int1].class
> String
您的参数哈希可能包含字符串值而不是整数。如果你想检查一个字符串是否是一个有效的整数,你可以尝试用一个正则表达式来验证它,如下所示:
if /\d+/=~ params[:int1]
# do stuff
end
params[] 只存储字符串。您需要将它们转换为整数。
尝试类似:
params[:int1].empty? ? raise EmptyIntegerException : my_int1 = params[:int1].to_i