Class: Skeem::SkmSequencingBlock

Inherits:
SkmUnaryExpression show all
Defined in:
lib/skeem/skm_unary_expression.rb

Overview

Sequencing construct

Instance Attribute Summary

Attributes inherited from SkmUnaryExpression

#child

Attributes inherited from SkmElement

#position

Instance Method Summary collapse

Methods inherited from SkmUnaryExpression

#accept

Methods inherited from SkmElement

#accept, #boolean?, #bound!, #callable?, #char?, #complex?, #done!, #eqv?, #inspect, #integer?, #list?, #null?, #number?, #pair?, #procedure?, #quasiquote, #quoted!, #rational?, #real?, #skm_eq?, #skm_equal?, #string?, #symbol?, #unquoted!, #vector?, #verbatim?

Constructor Details

#initialize(aSequence) ⇒ SkmSequencingBlock

Returns a new instance of SkmSequencingBlock.



167
168
169
# File 'lib/skeem/skm_unary_expression.rb', line 167

def initialize(aSequence)
  super(nil, aSequence)
end

Instance Method Details

#evaluate(aRuntime) ⇒ Object



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/skeem/skm_unary_expression.rb', line 171

def evaluate(aRuntime)
  result = nil
  return result if sequence.nil?

  case sequence
    when SkmPair
      result = eval_pair(aRuntime)
    when Hash
      result = eval_body(aRuntime)
    else
      result = sequence.evaluate(aRuntime)
  end

  result
end