class Myst::When
- Myst::When
- Myst::Node
- Reference
- Object
Overview
A when expression. These expressions are the fundamental building block
for conditional logic (they replace the ubiquitous if
expressions in
most C-based languages). They can also be chained with other when
or
unless
expressions to create a flat cascade of conditional logic, or an
else
expression to define an alternative if the condition is not met.
'when' condition body 'end' | 'when' condition body 'else' [ alternative ] 'end' | 'when' condition body ( when_expression | unless_expression )
Defined in:
myst/syntax/ast.crConstructors
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #accept_children(visitor)
- #alternative : Node
- #alternative=(alternative : Node)
- #body : Node
- #body=(body : Node)
- #condition : Node
- #condition=(condition : Node)
-
#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(condition : Myst::Node, body : Myst::Node = Nop.new, alternative : Myst::Node = Nop.new)
#
Instance Method Detail
def ==(other : self)
#
Description copied from class Reference
Returns true
if this reference is the same as other. Invokes same?
.