Экспериментируя с условным оператором в 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
также работает как положено.
Так что же с условным (троичным) оператором?