Class: Keisan::Functions::Puts

Inherits:
Keisan::Function show all
Defined in:
lib/keisan/functions/puts.rb

Instance Attribute Summary

Attributes inherited from Keisan::Function

#arity, #name

Instance Method Summary collapse

Methods inherited from Keisan::Function

#differentiate, #unbound_variables

Constructor Details

#initializePuts

Returns a new instance of Puts.



4
5
6
# File 'lib/keisan/functions/puts.rb', line 4

def initialize
  super("puts", 1)
end

Instance Method Details

#evaluate(ast_function, context = nil) ⇒ Object



12
13
14
15
16
# File 'lib/keisan/functions/puts.rb', line 12

def evaluate(ast_function, context = nil)
  validate_arguments!(ast_function.children.count)
  puts ast_function.children.first.evaluate(context).to_s
  Keisan::AST::Null.new
end

#simplify(ast_function, context = nil) ⇒ Object



18
19
20
# File 'lib/keisan/functions/puts.rb', line 18

def simplify(ast_function, context = nil)
  evaluate(ast_function, context)
end

#value(ast_function, context = nil) ⇒ Object



8
9
10
# File 'lib/keisan/functions/puts.rb', line 8

def value(ast_function, context = nil)
  evaluate(ast_function, context)
end