Return types
Return types
A method's return type is always inferred by the compiler. However, you might want to specify it for two reasons:
- To make sure that the method returns the type that you want
- To make it appear in documentation comments
For example:
def some_method : String "hello" end
The return type follows the type grammar.
Nil return type
Marking a method as returning Nil
will make it return nil
regardless of what it actually returns:
def some_method : Nil 1 + 2 end some_method # => nil
This is useful for two reasons:
- Making sure a method returns
nil
without needing to add an extranil
at the end, or at every return point - Documenting that the method's return value is of no interest
These methods usually imply a side effect.
Using Void
is the same, but Nil
is more idiomatic: Void
is preferred in C bindings.
To the extent possible under law, the persons who contributed to this workhave waived
all copyright and related or neighboring rights to this workby associating CC0 with it.
https://crystal-lang.org/docs/syntax_and_semantics/return_types.html