Sleepzy@feddit.it to Programmer Humor@lemmy.ml · 7か月前Elvisfeddit.itimagemessage-square33fedilinkarrow-up1153arrow-down111
arrow-up1142arrow-down1imageElvisfeddit.itSleepzy@feddit.it to Programmer Humor@lemmy.ml · 7か月前message-square33fedilink
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up3·edit-26か月前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.
minus-squareAVincentInSpace@pawb.sociallinkfedilinkEnglisharrow-up2·6か月前The second one isn’t valid syntax in any programming language I’m familiar with. What does it do?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up4·6か月前It’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-26か月前Huh. Neat feature. That’s in C# I assume?
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up2·edit-26か月前It’s in Kotlin and some other languages. C# has it but there is actually A ?? B.
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
.