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.



18
19
20
21
22
23
# File 'lib/basic101/functions.rb', line 18

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

Instance Method Details

#add_function(function) ⇒ Object



29
30
31
# File 'lib/basic101/functions.rb', line 29

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

#call(runtime, identifier, argument_values) ⇒ Object



25
26
27
# File 'lib/basic101/functions.rb', line 25

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

#has_function?(name) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/basic101/functions.rb', line 33

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