Method: BusScheme.apply

Defined in:
lib/eval.rb

.apply(function_sym, args) ⇒ Object

Call a function with given args



23
24
25
26
27
28
29
30
# File 'lib/eval.rb', line 23

def apply(function_sym, args)
  args = args.to_a
  function = eval(function_sym)
  args.map!{ |arg| eval(arg) } unless function.special_form
  puts ' ' * stack.length + Cons.new(function_sym, args.sexp).inspect if (@trace ||= false)

  function.call_as(function_sym, *args)
end