Class: Baba::RubyFunction

Inherits:
Function show all
Defined in:
lib/baba/ruby_object.rb

Instance Method Summary collapse

Methods inherited from Function

#bind

Constructor Details

#initialize(method, callback = nil) ⇒ RubyFunction

Returns a new instance of RubyFunction.



92
93
94
95
# File 'lib/baba/ruby_object.rb', line 92

def initialize(method, callback = nil)
  @method = method
  @callback = callback
end

Instance Method Details

#arityObject



105
106
107
# File 'lib/baba/ruby_object.rb', line 105

def arity
  @method.arity
end

#call(interpreter, arguments) ⇒ Object



97
98
99
100
101
102
103
# File 'lib/baba/ruby_object.rb', line 97

def call(interpreter, arguments)
  ret = @method.call(*arguments)
  if @callback
    @callback.call(ret)
  end
  return ret
end

#to_sObject



109
110
111
# File 'lib/baba/ruby_object.rb', line 109

def to_s
  "<ruby fn: #{@method}>"
end