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
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
nilwithout needing to add an extra
nilat 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.
Void is the same, but
Nil is more idiomatic:
Void is preferred in C bindings.