Class: Basic101::Functions

Inherits:
Object
  • Object
show all
Defined in:
lib/basic101/functions.rb

Instance Method Summary collapse

Constructor Details

#initialize(functions = BuiltInFunctions.make) ⇒ Functions

Returns a new instance of Functions.



20
21
22
23
24
25
# File 'lib/basic101/functions.rb', line 20

def initialize(functions = BuiltInFunctions.make)
  @functions = {}
  functions.each do |function|
    add_function function
  end
end

Instance Method Details

#add_function(function) ⇒ Object



31
32
33
# File 'lib/basic101/functions.rb', line 31

def add_function(function)
  @functions[function.name] = function
end

#call(runtime, identifier, argument_values) ⇒ Object



27
28
29
# File 'lib/basic101/functions.rb', line 27

def call(runtime, identifier, argument_values)
  @functions[identifier.to_s].call(runtime, argument_values)
end

#has_function?(name) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/basic101/functions.rb', line 35

def has_function?(name)
  @functions.has_key?(name.to_s)
end