class Ruspea::Runtime::Fn
Attributes
arities[R]
Public Class Methods
new(*lambdas)
click to toggle source
# File lib/ruspea/runtime/fn.rb, line 3 def initialize(*lambdas) @arities = {} lambdas.each { |lm| add lm } end
Public Instance Methods
add(lm)
click to toggle source
# File lib/ruspea/runtime/fn.rb, line 9 def add(lm) arities[lm.arity] = lm end
call(*args, context: nil, evaler: nil)
click to toggle source
# File lib/ruspea/runtime/fn.rb, line 13 def call(*args, context: nil, evaler: nil) arities .fetch(args.length) .call(*args, context: context, evaler: evaler) end