module Rus3::Procedure::Comparison
This module holds comparison operation procedures of Scheme.
Public Instance Methods
ge?(*args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 22 def ge?(*args) c_calc(:>=, *args) end
gt?(*args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 18 def gt?(*args) c_calc(:>, *args) end
le?(*args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 14 def le?(*args) c_calc(:<=, *args) end
lt?(*args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 10 def lt?(*args) c_calc(:<, *args) end
same_value?(*args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 26 def same_value?(*args) c_calc(:==, *args) end
Private Instance Methods
c_calc(op, *args)
click to toggle source
# File lib/rus3/procedure/comparison.rb, line 32 def c_calc(op, *args) case args.size when 0, 1 raise ArgumentError, args.to_s when 2 args[0].send(op, args[1]) ? true : false else args[0].send(op, args[1]) and c_calc(op, *args[1..-1]) ? true : false end end