Ruby, если .. elsIf .. еще на одной строке?
С помощью тернарного оператора ruby мы можем написать следующую логику для простой конструкции if else:
a = true ? 'a' : 'b' #=> "a"
Но что, если я хотел написать это как?if foo 'a' elsif bar 'b' else 'c'
Я мог бы написать это следующим образом, но этонемного трудно следовать:
foo = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "a"
foo = false
bar = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "b"
Есть ли лучшие варианты для обработки такого сценария или это наша лучшая ставка, если мы хотим сжать логику if..elsif..else в одну строку?