Sleepzy@feddit.it to Programmer Humor@lemmy.ml · 4 days agoElvisfeddit.itimagemessage-square29fedilinkarrow-up1155arrow-down110
arrow-up1145arrow-down1imageElvisfeddit.itSleepzy@feddit.it to Programmer Humor@lemmy.ml · 4 days agomessage-square29fedilink
minus-squareQuazarOmega@lemy.lollinkfedilinkarrow-up13·4 days agoOn the left you have Elvis Presley, while on the right there’s the so-called Elvis operator
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up3·3 days agowhy would you call it anything other than the ternary operator
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up2·edit-21 day 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-up2·22 hours agoThe second one isn’t valid syntax in any programming language I’m familiar with. What does it do?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up2·21 hours agoIt’s a shorthand for writing this: variable = if (input != null) input else default This is equivalent: variable = input ?: default
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up2·edit-220 hours agoHuh. Neat feature. That’s in C# I assume?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up2·edit-213 hours agoIt’s in Kotlin and some other languages. C# has it but there is actually A ?? B.
minus-squareQuazarOmega@lemy.lollinkfedilinkarrow-up2·3 days agoRead further down on my other comment to understand, it’s just how the operator looks
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
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 default
This is equivalent:
variable = input ?: default
Huh. Neat feature. That’s in C# I assume?
It’s in Kotlin and some other languages. C# has it but there is actually
A ?? B
.Read further down on my other comment to understand, it’s just how the operator looks