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 в одну строку?

Ответы на вопрос(4)

Ваш ответ на вопрос