15 ms·
The ternary operator is easy to nest if you put each clause on a separate line. Then it looks just like nested if-then-else.
by mjcohen 3mo ago
The ternary operator is easy to nest if you put each clause on a separate line. Then it looks just like nested if-then-else.
- edoceo 3mo agoI love the ternary operator as much as anyone. But dang if it doesn't get hard to read when there is are a few, nested even. Does that operator compile to faster assembly that if I make the same logic with verbose `if` logic? Is that a language specific outcome?
- gnubison 3mo agocond1 ? res1 : cond2 ? res2 : cond3 ? res3 : or_else_res If they are truly nested, then that is confusing. But if you have an if-else chain, then it can be quite readable.
- shevy-java 3mo agoI find that so much harder to read compared to if/else or case/when in ruby. The ? is basically an attempt to use fewer if/else, at the cost of condensed if-else like structure. I always need to look at both parts after the ? whereas in a single if or elsif I don't. case/when in ruby is even better here e. g. regex check: def foo(i) case i when /^cat/ handle_cats when /^dog/ handle_dogs (I ommitted the "end"s here to just focus on the conditional logic.)
- a-french-anon 3mo agoOr they could just ask granddaddy for advice: (cond (cond1 res1) (cond2 res2) (cond3 res3) (t else_res)) =)
- matheusmoreira 3mo agoAn elegant weapon, for a more civilized age...
- froh 3mo agoor if cond1 then res1 else if cond2 then res2 else if cond3 then res3 else or_else_res or if cond1 then res1 elif cond2 then res2 elif cond3 then res3 else or_else_res what is most lua-like?
- spider-mario 3mo agoUnless you mess up its associativity, like PHP until 7.4. https://wiki.php.net/rfc/ternary_associativity https://wiki.php.net/rfc/ternary_associativity http://phpsadness.com/sad/30 http://phpsadness.com/sad/30