Closed soutaro closed 2 weeks ago
This PR introduces *x : T and **x: T syntax for splat and double splat parameters. &block: T syntax is also added.
*x : T
**x: T
&block: T
## For * params # @rbs *keys: Symbol => (*Symbol keys) -> ... # @rbs *: untyped => (*untyped) -> ... (param names are optional) ## For **params # @rbs **attrs: untyped => (**untyped attrs) -> ... # @rbs **: untyped => (**untyped) -> ... (param names are optional) ## For blocks # @rbs &block: (Integer) -> void => { (Integer) -> void } # @rbs &: ? (untyped) -> void => ?{ (untyped) -> void } (Optional block, param names are optional)
Related to #9.
This PR introduces
*x : T
and**x: T
syntax for splat and double splat parameters.&block: T
syntax is also added.Related to #9.