module Rus3::Procedure::Arithmetic
This module holds arithmetic operation procedures of Scheme.
Public Instance Methods
add(*args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 10 def add(*args) a_calc(:+, *args) end
div(*args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 22 def div(*args) a_calc(:/, *args) end
mod(*args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 26 def mod(*args) a_calc(:%, *args) end
mul(*args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 18 def mul(*args) a_calc(:*, *args) end
subtract(*args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 14 def subtract(*args) a_calc(:-, *args) end
Private Instance Methods
a_calc(op, *args)
click to toggle source
# File lib/rus3/procedure/arithmetic.rb, line 32 def a_calc(op, *args) case args.size when 0 0 when 1 args[0] else a_calc(op, args[0].send(op, args[1]), *args[2..-1]) end end