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 ロジックを 1 行に凝縮したい場合、これが最善の策ですか?