From: toomln Date: 2008-10-13T03:57:21+09:00 Subject: Re: Modular Arithmetic (#179) > ## Modular Arithmetic (#179) Here is a (maybe too) simple proxy solution. Modular division isn't implemented. It passes the tests -- little more. This solution is for ruby 1.9 only. AFAIK facets also has a BasicObject class that could (or maybe not) be used as a replacement for ruby19's BasicObject. Regards, Thomas. #!/usr/bin/env ruby19 class Modulo < BasicObject def initialize(num, modulo=26) @modulo = modulo @num = num % @modulo end def method_missing(meth, *args) rv = @num.send(meth, *args) case rv when ::Numeric ::Modulo.new(rv % @modulo) else rv end end def <=>(other) @num <=> other.real end def ==(other) @num == other.real end alias :equal? :== def real @num end end