Class: EleetScript::LambdaNode

Inherits:
Object
  • Object
show all
Defined in:
lib/lang/nodes.rb,
lib/lang/interpreter.rb

Instance Method Summary collapse

Instance Method Details

#eval(context) ⇒ Object



321
322
323
324
# File 'lib/lang/interpreter.rb', line 321

def eval(context)
  method = EleetScriptMethod.new(nil, params, body, context)
  context.root_ns["Lambda"].new_with_value(method, context)
end

#to_s(level = 0) ⇒ Object



146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/lang/nodes.rb', line 146

def to_s(level = 0)
  tabs = spaces(level)
  str = "#{tabs}<EleetScript::LambdaNode\n"
  str += "#{tabs}  @params=#{params.inspect}\n"
  if body.nodes.length > 0
    str += "#{tabs}  @body=(\n"
    str += body.to_s(level + 2)
    str += "#{tabs}  )\n#{tabs}>\n"
  else
    str += "#{tabs}  @body=nil\n#{tabs}>\n"
  end
  str
end