class Myst::Match
- Myst::Match
- Myst::Node
- Reference
- Object
Overview
A match expression. Match expressions are a syntax sugar representing an anonymous function definition and immediate invocation with the arguments.
A match expression must be given at least one argument and one clause to be considered valid.
'match' [ argument [ ',' argument ]* ] [ '->' '(' [ param [ ',' param ]* ]? ')' [ '{' | 'do' ] body [ '}' | 'end' ] ]+ 'end'
Defined in:
myst/syntax/ast.crConstructors
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #accept_children(visitor)
- #arguments : Array(Node)
- #arguments=(arguments : Array(Node))
- #clauses : Array(Block)
- #clauses=(clauses : Array(Block))
-
#hash(hasher)
See
Object#hash(hasher)
Instance methods inherited from class Myst::Node
accept(visitor)
accept,
accept_children(visitor)
accept_children,
at(node : Node)at(node : Nil)
at(location : Location) at, at_end(node : Node)
at_end(node : Nil)
at_end(end_location : Location) at_end, class_desc : String class_desc, end_location : Location | Nil end_location, end_location=(end_location : Location | Nil) end_location=, location : Location | Nil location, location=(location : Location | Nil) location=
Constructor Detail
def self.new(arguments : Array(Myst::Node) = [] of Node, clauses : Array(Myst::Block) = [] of Block)
#
Instance Method Detail
def ==(other : self)
#
Description copied from class Reference
Returns true
if this reference is the same as other. Invokes same?
.