Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

should get(f, Nullable) be defined? #24528

Closed
oxinabox opened this issue Nov 8, 2017 · 4 comments
Closed

should get(f, Nullable) be defined? #24528

oxinabox opened this issue Nov 8, 2017 · 4 comments

Comments

@oxinabox
Copy link
Contributor

oxinabox commented Nov 8, 2017

I noted that my code include a fair bit of

maybe_res::Nullable = try_solve(...)
if isnull(res)
     # do some stuff
     # return some alternative
else
     get(maybe_res)
end

If `get(f, Nullable) was defined, like it is for dictionaries, then that would become

get(try_solve(...)) do
     # do some stuff
     # return some alternative
end

which is a bit nicer.

@nalimilan
Copy link
Member

Nullable is on its way out: #23642. But we could define a similar get method for Some. Note that if the wrapped value cannot be nothing, you can use Union{T, Void} to replace Nullable{T}, so that you don't need to call get at all.

@vtjnash
Copy link
Sponsor Member

vtjnash commented Nov 8, 2017

Some can't be null, so the situation is a bit different. I believe the current thinking is to have someone propose and develop a set of null-handling operators (with ? prefix/suffix) and in the meantime to use straightforward conditional form.

@nalimilan
Copy link
Member

Some can't be null, so the situation is a bit different.

Yes, but #23642 includes a method get(::Void, x::Any) = x, so we could do the same here.

@KristofferC
Copy link
Sponsor Member

Moved to JuliaAttic/Nullables.jl#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants