我有这段代码:
pin_number == pin ? @balance -= amount : puts pin_error
除了余额减去之外,我想在真实部分中puts
新余额。我怎么做?如果我试图建立一条新线,它似乎会破坏三元操作。
有时,三元运算符不起作用,除非我在条件之前放置puts
或类似的东西。以下内容:
condition ? puts "if_true" : puts "if_false"
不起作用,但是:
puts condition = "if_true" : "if_false"
确实有效。那是为什么?
答案 0 :(得分:1)
使用常规if/else
语句,阅读和维护更容易
if pin_number == pin
@balance -= amount
puts @balance
else
puts pin_error
end
现在关于你的p.s.部分
puts
是常规方法。它在三元组中不起作用,因为你省略了括号,ruby ruby无法正确解析这一行。此代码将起作用
condition ? puts("if_true") : puts("if_false")