Sleepzy@feddit.it to Programmer Humor@lemmy.ml · 1 year agoElvisfeddit.itexternal-linkmessage-square32linkfedilinkarrow-up11arrow-down10
arrow-up11arrow-down1external-linkElvisfeddit.itSleepzy@feddit.it to Programmer Humor@lemmy.ml · 1 year agomessage-square32linkfedilink
minus-squareQuazarOmega@lemy.lollinkfedilinkarrow-up0·1 year agoOn the left you have Elvis Presley, while on the right there’s the so-called Elvis operator
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up0·1 year agowhy would you call it anything other than the ternary operator
minus-squareQuazarOmega@lemy.lollinkfedilinkarrow-up0·1 year agoRead further down on my other comment to understand, it’s just how the operator looks
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up0·1 year agoBecause it’s not one. Ternary operator is A ? B : C, Elvis operator is A ?: B. The same two characters are involved, but both the syntax and effect is different.
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up0·1 year agoThe second one isn’t valid syntax in any programming language I’m familiar with. What does it do?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up0·1 year agoIt’s a shorthand for writing this: variable = if (input != null) input else default This is equivalent: variable = input ?: default
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up0·1 year agoHuh. Neat feature. That’s in C# I assume?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up0·1 year agoIt’s in Kotlin and some other languages. C# has it but there it’s actually A ?? B.
minus-squareThe Cuuuuube@beehaw.orglinkfedilinkEnglisharrow-up0·1 year agobeen programming since 2008. the fuck is an elvis operator?
minus-squareJerkface (any/all)@lemmy.calinkfedilinkEnglisharrow-up0·1 year agoBeen programming since the 80s, ditto.
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up0·1 year agoIt’s a shorthand for writing this: variable = if (input != null) input else default This is equivalent: variable = input ?: default The answers confusing it with the ternary operator are wrong.
minus-squareThe Cuuuuube@beehaw.orglinkfedilinkEnglisharrow-up0·1 year agogotacha. i’ve only ever heard them called ternaries. maybe i’m old. maybe i’m too young. definitely one of the two
minus-squareQuazarOmega@lemy.lollinkfedilinkarrow-up0·1 year agoIt specifically refers to this shorthand ?: that works like this: $value = $thing_that_could_be_truthy ?: 'fallback value'; # same as $value = $thing_that_could_be_truthy ? $thing_that_could_be_truthy : 'fallback value'; The condition is also the value if it is truthy
On the left you have Elvis Presley, while on the right there’s the so-called Elvis operator
why would you call it anything other than the ternary operator
Read further down on my other comment to understand, it’s just how the operator looks
Because it’s not one. Ternary operator is A ? B : C, Elvis operator is A ?: B. The same two characters are involved, but both the syntax and effect is different.
The second one isn’t valid syntax in any programming language I’m familiar with. What does it do?
It’s a shorthand for writing this:
variable = if (input != null) input else defaultThis is equivalent:
variable = input ?: defaultHuh. Neat feature. That’s in C# I assume?
It’s in Kotlin and some other languages. C# has it but there it’s actually
A ?? B.been programming since 2008. the fuck is an elvis operator?
Been programming since the 80s, ditto.
It’s a shorthand for writing this:
variable = if (input != null) input else defaultThis is equivalent:
variable = input ?: defaultThe answers confusing it with the ternary operator are wrong.
Ternary if?then:else
gotacha. i’ve only ever heard them called ternaries. maybe i’m old. maybe i’m too young. definitely one of the two
It specifically refers to this shorthand
?:that works like this:$value = $thing_that_could_be_truthy ?: 'fallback value'; # same as $value = $thing_that_could_be_truthy ? $thing_that_could_be_truthy : 'fallback value';The condition is also the value if it is truthy