49
submitted 11 months ago by Ephera@lemmy.ml to c/rust@lemmy.ml
top 7 comments
sorted by: hot top controversial new old
[-] palebluethought@lemmy.world 20 points 11 months ago

You see, a monad is like a burrito...

[-] ubik@fedi.turbofish.cc 7 points 11 months ago

@Ephera you have to be a connoisseur to understand this one ๐Ÿ™‚

[-] Nibodhika@lemmy.world 5 points 11 months ago

Care to explain for the uninitiated like me? It feels like a meme, but conceptually an Option is very different from a Result, maybe I'm overthinking but to me an Option None means no action was taken (e.g. a function that runs every loop to take an action every second will return None most times and Some when it executes), whereas an Ok(None) means an action was taken and it has nothing to return (e.g. a function that safely reads a value from a JSON file, it didn't failed reading the file so it's an Ok, but the value wasn't there so it's None).

[-] SWW13@lemmy.brief.guru 12 points 11 months ago

You can use transpose() to go from Option<Result<T>> to Result<Option<T>> and vice versa.

The "meme" is a trans pride flag and a human pose.

[-] howrar@lemmy.ca 9 points 11 months ago

Ah, so a trans pose.

Nice.

[-] badmin@lemm.ee 4 points 11 months ago

It's just a "joke" about the method name.

[-] RustyNova@lemmy.world 4 points 11 months ago

It's super useful for TryStreams with next(). I often want to ? the result up, so that I can have a clean item in my while let loop

this post was submitted on 26 Feb 2025
49 points (90.2% liked)

Rust Programming

9142 readers
5 users here now

founded 6 years ago
MODERATORS