class Yadriggy::Lambda

A lambda expression such as `-> (x) {x + 1}`.

`lambda {|x|x+1}` is parsed as a call to `lambda` with an argument `{|x|x + 1}`. So it is an instance of {Call}.

Public Class Methods

new(sexp) click to toggle source
# File lib/yadriggy/ast.rb, line 1418
def initialize(sexp)
  if sexp[1][0] == :paren
    params = sexp[1][1]
  else
    params = sexp[1]
  end
  initialize_vars(params, sexp[2])
end
tag() click to toggle source
# File lib/yadriggy/ast.rb, line 1416
def self.tag() :lambda end

Public Instance Methods

accept(evaluator) click to toggle source

A method for Visitor pattern. @param [Eval] evaluator the visitor of Visitor pattern. @return [void]

# File lib/yadriggy/ast.rb, line 1430
def accept(evaluator)
  evaluator.lambda_expr(self)
end