this post was submitted on 08 Dec 2023
623 points (96.4% liked)

Programmer Humor

32710 readers
1430 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
[โ€“] [email protected] 13 points 1 year ago (1 children)

This doesn't work for booleans because false is not null but also not truthy. One of things I hate about ruby is that it doesn't have a native null coalescing operator.

[โ€“] [email protected] 1 points 1 year ago

Yeah, you're quite correct, it's not exactly equivalent, I just went on auto-pilot because it's used so much for that purpose ๐Ÿค–

It's much closer to being a true null-coalescing operator than 'OR' operators in other languages though, because there's only two values that are falsy in Ruby: nil and false. Some other languages treat 0 and "" (and no doubt other things), as falsy. So this is probably the reason Ruby has never added a true null-coalescing operator, there's just much fewer cases where there's a difference.

It's going to drive me mad now I've seen it, though ๐Ÿ˜† That's usually the case with language features, though, you don't know what you're missing until you see it in some other language!