HiddenLayer555@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 5 days agoWhy make it complicated?lemmy.mlimagemessage-square48linkfedilinkarrow-up112arrow-down10file-textcross-posted to: [email protected]
arrow-up112arrow-down1imageWhy make it complicated?lemmy.mlHiddenLayer555@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 5 days agomessage-square48linkfedilinkfile-textcross-posted to: [email protected]
minus-squareEphera@lemmy.mllinkfedilinkEnglisharrow-up1·4 days agoIt’s the same thing as ternary, just without the ? : syntax.
minus-squareferric_carcinization@lemmy.mllinkfedilinkEnglisharrow-up1·4 days agoWhat’s disgusting about it? The only thing I can think of is the implicit return, which felt a bit icky at first. Also, as the if expression is an expression, you can call methods on it like so: if 1 > 2 { 3 } else { 4 }.min(5) (the above is still an expression, so it could be used, for example, as part of a condition for another if) Of course, you can write horrible code in any language, but the ability to use blocks where expressions are expected can be great sometimes.
That’s… Disgusting
It’s the same thing as ternary, just without the
? :
syntax.What’s disgusting about it? The only thing I can think of is the implicit return, which felt a bit icky at first.
Also, as the if expression is an expression, you can call methods on it like so:
if 1 > 2 { 3 } else { 4 }.min(5)
(the above is still an expression, so it could be used, for example, as part of a condition for another if)
Of course, you can write horrible code in any language, but the ability to use blocks where expressions are expected can be great sometimes.