Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

« Newer Snippets
Older Snippets »
Showing 1-1 of 1 total  RSS 

Extend Float and FixNum to do calculations in S.I. units

Found at http://stephan.walter.name/Ruby_snippets

   1  
   2  module SiUnits
   3          def mega;  self * 1000.kilo;   end
   4          def kilo;  self * 1000;        end
   5          def milli; self * 0.001;       end
   6          def micro; self * 0.001.milli; end
   7  
   8          def seconds; self;              end
   9          def minutes; self * 60;         end
  10          def hours;   self * 60.minutes; end
  11          def days;    self * 24.hours;   end
  12          def years;   self * 365.days;   end
  13  
  14          def metres; self; end
  15  
  16          def grams; self * 0.001; end
  17  end
  18  
  19  class Float; include SiUnits; end
  20  class Fixnum; include SiUnits; end
  21  
  22  p 2.days             # => 172800
  23  p 3.milli.metres     # => 0.003
  24  p 4.kilo.grams       # => 4.0


Note: This code is under the Creative Commons Attribution-NonCommercial-ShareAlike License.
« Newer Snippets
Older Snippets »
Showing 1-1 of 1 total  RSS