【发布时间】:2011-12-28 02:02:35
【问题描述】:
在 ruby 中试验条件运算符,
def nada
false ? true : nil
end
def err
false ? true : raise('false')
end
按预期工作,但是
def reflection
false ? true : return false
end
产生一个syntax error, unexpected keyword_false, expecting keyword_end
def reflection
false ? true : return(false)
end
并尝试使用括号syntax error, unexpected tLPAREN, expecting keyword_end
还
def reflection
false ? true : (return false)
end
按预期工作,更详细的if...then...else...end
def falsy
if false then true else return false end
end
也可以按预期工作。
那么条件(三元)运算符是怎么回事?
【问题讨论】:
标签: ruby ternary-operator