You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Really like what I'm seeing so far with cyber. Thank you!
Congrats on the big 0.4 release.
Any plans for implementing an ergonomic null safe operator (or safe navigation operator or equivalent)? Use case:
my test =['hello':'world','blah':'blah']
my output =''
output = try "$(test.hello)"print output -- world
output = try "$(test.hello.missing)"print output -- none ... Awesome! Easy.
output = try "$(test.hello.missing.goodbye)"print output -- panic: Field not found in value.
Would be great to see Cyber handling missing nested items in maps with try/catch or ideally implement question mark operators (?? and/or ?. etc)
Thanks for the references. Here's what I'm currently thinking for optionals:
Option declaration:
var a ?Foo = none
var a = ?Foo.none
var a ?Foo = [Foo:]
var a = some([Foo:])
Get value or panic: a!
For optional chaining, returns last access or none: a?.b?.c
Chain but fail at first none encounter: a!.b!.c
If a is dynamic it can just be a.b.c
Really like what I'm seeing so far with cyber. Thank you!
Congrats on the big 0.4 release.
Any plans for implementing an ergonomic null safe operator (or safe navigation operator or equivalent)? Use case:
Would be great to see Cyber handling missing nested items in maps with try/catch or ideally implement question mark operators (
??
and/or?.
etc)Why bother? https://www.youtube.com/watch?v=XIhQYRNBAYs
Related: https://en.wikipedia.org/wiki/Null_coalescing_operator
Related: https://en.wikipedia.org/wiki/Safe_navigation_operator
Proposal for Moonscript, which shares a similar syntax with Cyber: leafo/moonscript#285
The text was updated successfully, but these errors were encountered: