我只是想使此代码正常工作,而且我不断得到:
<=':字符串与21的比较失败(ArgumentError)
请告诉我我在做错什么。
我正在学习,并且已经遍历了我能想到的代码的每一次迭代以使其起作用,我只是不确定自己做错了什么。
puts "How old are you?"
old = gets.chomp
if old <= 21
return "You are not legally allowed to buy alcohol in the US"
else
return "You are legally allowed to buy alcohol in the US"
end
答案 0 :(得分:4)
我相信您必须使用to_i
将字符串转换为整数。
答案 1 :(得分:2)
上一个答案是正确的,但更冗长的是,这是您需要在代码中更改的行:
upi://pay?pa=*******&pn=PhonePeMerchant&cu=INR
但是您可能还想确保用户只输入一个整数,因为在非数字字符上调用old = gets.chomp.to_i
会返回.to_i
。
答案 2 :(得分:2)
根据需要尝试/改进:
input = gets.chomp
if(val = Integer(input) rescue false)
val < 21 ? 'Not old enough' : 'The usual martini?'
else
'You did not provide an age (number)'
end
它检查输入是否为整数,因此它考虑了foo
之类的输入。
Hth ...