this post was submitted on 17 Nov 2024
149 points (94.6% liked)

Programmer Humor

32533 readers
502 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] dev_null@lemmy.ml 2 points 1 day ago* (last edited 1 day ago) (1 children)

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.

[–] AVincentInSpace@pawb.social 2 points 1 day ago (1 children)

The second one isn't valid syntax in any programming language I'm familiar with. What does it do?

[–] dev_null@lemmy.ml 2 points 1 day ago (1 children)

It's a shorthand for writing this:

variable = if (input != null) input else default

This is equivalent:

variable = input ?: default
[–] AVincentInSpace@pawb.social 2 points 1 day ago* (last edited 1 day ago) (1 children)
[–] dev_null@lemmy.ml 2 points 20 hours ago* (last edited 20 hours ago)

It's in Kotlin and some other languages. C# has it but there it's actually A ?? B.