class Gobstones::Lang::ReturnFromFunction

Attributes

expressions[R]

Public Class Methods

new(expressions) click to toggle source
# File lib/gobstones/lang/definitions/return_from_function.rb, line 10
def initialize(expressions)
  @expressions = expressions
end

Public Instance Methods

equality_attributes() click to toggle source
# File lib/gobstones/lang/definitions/return_from_function.rb, line 14
def equality_attributes
  %i[expressions]
end
evaluate(context) click to toggle source
# 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