Extend Float And FixNum To Do Calculations In S.I. Units
Join the DZone community and get the full member experience.Join For Free
Found at http://stephan.walter.name/Ruby_snippets
module SiUnits def mega; self * 1000.kilo; end def kilo; self * 1000; end def milli; self * 0.001; end def micro; self * 0.001.milli; end def seconds; self; end def minutes; self * 60; end def hours; self * 60.minutes; end def days; self * 24.hours; end def years; self * 365.days; end def metres; self; end def grams; self * 0.001; end end class Float; include SiUnits; end class Fixnum; include SiUnits; end p 2.days # => 172800 p 3.milli.metres # => 0.003 p 4.kilo.grams # => 4.0Note: This code is under the Creative Commons Attribution-NonCommercial-ShareAlike License.
Opinions expressed by DZone contributors are their own.