Class: Gobstones::Lang::ReturnFromFunction
- Inherits:
-
Object
- Object
- Gobstones::Lang::ReturnFromFunction
- Includes:
- EqualityDefinition
- Defined in:
- lib/gobstones/lang/definitions/return_from_function.rb
Instance Attribute Summary collapse
-
#expressions ⇒ Object
readonly
Returns the value of attribute expressions.
Instance Method Summary collapse
- #equality_attributes ⇒ Object
- #evaluate(context) ⇒ Object
-
#initialize(expressions) ⇒ ReturnFromFunction
constructor
A new instance of ReturnFromFunction.
Methods included from EqualityDefinition
Constructor Details
#initialize(expressions) ⇒ ReturnFromFunction
Returns a new instance of ReturnFromFunction.
10 11 12 |
# File 'lib/gobstones/lang/definitions/return_from_function.rb', line 10 def initialize(expressions) @expressions = expressions end |
Instance Attribute Details
#expressions ⇒ Object (readonly)
Returns the value of attribute expressions.
8 9 10 |
# File 'lib/gobstones/lang/definitions/return_from_function.rb', line 8 def expressions @expressions end |
Instance Method Details
#equality_attributes ⇒ Object
14 15 16 |
# File 'lib/gobstones/lang/definitions/return_from_function.rb', line 14 def equality_attributes %i[expressions] end |
#evaluate(context) ⇒ Object
18 19 20 21 22 |
# File 'lib/gobstones/lang/definitions/return_from_function.rb', line 18 def evaluate(context) # TODO think more the case of gexp tuple, should it be a data type instead of a plain list? evaluated_expressions = expressions.map { |expression| expression.evaluate(context) } evaluated_expressions.size == 1 ? evaluated_expressions.first : evaluated_expressions end |