150
Elvis (feddit.it)
submitted 5 months ago by Sleepzy@feddit.it to c/programmerhumor@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] bl4kers@lemmy.ml 16 points 5 months ago

I don't understand this. Small brained users rise up

[-] QuazarOmega@lemy.lol 14 points 5 months ago

On the left you have Elvis Presley, while on the right there's the so-called Elvis operator

[-] Cube6392@beehaw.org 16 points 5 months ago

been programming since 2008. the fuck is an elvis operator?

[-] jerkface@lemmy.ca 8 points 5 months ago

Been programming since the 80s, ditto.

[-] luciferofastora@lemmy.zip 4 points 5 months ago
[-] Cube6392@beehaw.org 4 points 5 months ago

gotacha. i've only ever heard them called ternaries. maybe i'm old. maybe i'm too young. definitely one of the two

[-] QuazarOmega@lemy.lol 8 points 5 months ago

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

[-] dev_null@lemmy.ml 3 points 5 months ago* (last edited 5 months ago)

It'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.

[-] AVincentInSpace@pawb.social 3 points 5 months ago

why would you call it anything other than the ternary operator

[-] dev_null@lemmy.ml 3 points 5 months ago* (last edited 5 months ago)

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 5 months ago

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

[-] dev_null@lemmy.ml 4 points 5 months ago

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 5 months ago* (last edited 5 months ago)

Huh. Neat feature. That's in C# I assume?

[-] dev_null@lemmy.ml 2 points 5 months ago* (last edited 5 months ago)

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

[-] QuazarOmega@lemy.lol 2 points 5 months ago

Read further down on my other comment to understand, it's just how the operator looks

this post was submitted on 17 Nov 2024
150 points (93.1% liked)

Programmer Humor

35665 readers
443 users here now

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

Rules:

founded 5 years ago
MODERATORS