Cipherd@lemmy.ml to Programmer Humor@programming.dev · 1 day agofunctionslemmy.mlimagemessage-square97fedilinkarrow-up1559arrow-down17file-textcross-posted to: programmerhumor@lemmy.ml
arrow-up1552arrow-down1imagefunctionslemmy.mlCipherd@lemmy.ml to Programmer Humor@programming.dev · 1 day agomessage-square97fedilinkfile-textcross-posted to: programmerhumor@lemmy.ml
minus-squarecalcopiritus@lemmy.worldlinkfedilinkarrow-up8·1 day agoThis can also be a side product for code blocks being expressions instead of statements. In rust for example they are, so it’s not rare to see functions like: fn add_one(x: i32) -> i32 { x+1 } This lets you do amazing things like: let x = if y < 0.0 { 0.0 } else { y } which is the same as x = y < 0.0 ? 0.0 : y But is much better for more complex logic. So you can forget about chaining 3-4 ternary operations in a single line.
minus-squareSlurpingPus@lemmy.worldlinkfedilinkarrow-up2·edit-212 hours agoLisp programmers seeing these ‘amazing things’: But yeah, every time I’m trying to do a ternary in Lua, I miss being able to just throw in an if. Thankfully it can be amended with Fennel.
This can also be a side product for code blocks being expressions instead of statements.
In rust for example they are, so it’s not rare to see functions like:
fn add_one(x: i32) -> i32 { x+1 }This lets you do amazing things like:
let x = if y < 0.0 { 0.0 } else { y }which is the same as
x = y < 0.0 ? 0.0 : yBut is much better for more complex logic. So you can forget about chaining 3-4 ternary operations in a single line.
Lisp programmers seeing these ‘amazing things’:
But yeah, every time I’m trying to do a ternary in Lua, I miss being able to just throw in an
if. Thankfully it can be amended with Fennel.