Sleepzy to Programmer Humor@lemmy.ml · 2 年前Elvisimagemessage-square34linkfedilinkarrow-up1164arrow-down111
arrow-up1153arrow-down1imageElvisSleepzy to Programmer Humor@lemmy.ml · 2 年前message-square34linkfedilink
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up3·2 年前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.socialBanned from communitylinkfedilinkEnglisharrow-up2·2 年前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·2 年前It’s a shorthand for writing this: variable = if (input != null) input else default This is equivalent: variable = input ?: default
minus-squareAVincentInSpace@pawb.socialBanned from communitylinkfedilinkEnglisharrow-up2·2 年前Huh. Neat feature.
minus-squaredev_null@lemmy.mllinkfedilinkarrow-up2·2 年前It’s in Kotlin and some other languages. C# has it but there it’s 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 defaultThis is equivalent:
variable = input ?: defaultHuh. Neat feature.
It’s in Kotlin and some other languages. C# has it but there it’s actually
A ?? B.