我刚开始学习Ruby,并且在做开关案例问题时遇到了此错误。
puts "Enter your percentage"
pr = gets.to_i
case pr
when (pr < 40)
puts "He gets a D"
when (pr >= 40 & pr < 60)
puts "He gets a C"
when (pr >=60 & pr<80)
puts "He gets a B"
when (pr >= 80)
puts "He gets an A"
else
puts "he gets an A"
end
当我输入85时,出现该错误。谁能建议我做些改变。
答案 0 :(得分:0)
您的错误声音会给您答案。
undefined method
是<
,因此您的价值在您的第一种情况下。看来您的价值是boolean
等于true
。
答案 1 :(得分:0)
我不明白您为什么使用&
而不是&&
来进行和操作,但是在这种情况下,运算符优先级会杀死您。虽然
a > b && c < d
被解释为
(a > b) && (c < d)
表达式
a > b & c < d
被视为
(a > (b & c)) < d
这意味着:
看看Ruby的the operator precedence table。