Class: Nydp::Builtin::Divide
- Inherits:
-
Object
show all
- Includes:
- Base, Singleton
- Defined in:
- lib/nydp/builtin/divide.rb
Instance Method Summary
collapse
Methods included from Base
#builtin_invoke_1, #builtin_invoke_2, #builtin_invoke_3, #builtin_invoke_4, #handle_error, #inspect, #invoke, #invoke_1, #invoke_2, #invoke_3, #invoke_4, #nydp_type, #to_s
Methods included from Helper
#cons, #list, #literal?, #pair?, #sig, #sym, #sym?
Methods included from Converter
#n2r, #r2n
Instance Method Details
#builtin_invoke(vm, args) ⇒ Object
4
5
6
|
# File 'lib/nydp/builtin/divide.rb', line 4
def builtin_invoke vm, args
vm.push_arg divide(args.cdr, args.car)
end
|
#divide(args, accum) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/nydp/builtin/divide.rb', line 8
def divide args, accum
if Nydp::NIL.is? args
accum
else
divide(args.cdr, (accum / args.car))
end
end
|
16
|
# File 'lib/nydp/builtin/divide.rb', line 16
def name ; "/" ; end
|