class Myst::When

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.cr

Constructors

Instance Method Summary

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) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def accept_children(visitor) #

[View source]
def alternative : Node #

[View source]
def alternative=(alternative : Node) #

[View source]
def body : Node #

[View source]
def body=(body : Node) #

[View source]
def condition : Node #

[View source]
def condition=(condition : Node) #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)