Class: Chelsy::While

Inherits:
Iteration show all
Defined in:
lib/chelsy/ast.rb

Overview

This class represents while iteration statement.

Instance Attribute Summary

Attributes inherited from Iteration

#body, #condition

Attributes inherited from Element

#fragments, #post_fragments

Instance Method Summary collapse

Constructor Details

#initialize(condition_expr, body_stmt = nil, **rest) {|Chelsy::Block| ... } ⇒ While

Initialize iteration statement with its condition and iteration body statement. You can pass an optional code block which takes Block instance can be used to construct iteration body statements.

Parameters:

  • condition_expr

    an expression which express condition

  • body_stmt (defaults to: nil)

    iteration body statement

Yields:

Raises:

  • (ArgumentError)

    Given neither body_stmt nor code block

  • (ArgumentError)

    condition_expr is nil



1044
1045
1046
1047
# File 'lib/chelsy/ast.rb', line 1044

def initialize(condition_expr, body_stmt=nil, **rest)
  raise ArgumentError, "missing condition expr" unless condition_expr
  super condition_expr, body_stmt, **rest
end