class Phys::BaseUnit
BaseUnit
is a class to represent units defined by “!” in the data form of GNU units. It includes SI units and dimensionless units such as radian.
Attributes
dimension_value[R]
Dimension value. Returns PI number for pi dimension, otherwise returns one. @return [Numeric] @example
Phys::Unit["pi"].dimension_value #=> 3.141592653589793
Public Class Methods
define(name,expr,dimval=nil)
click to toggle source
# File lib/phys/units/unit.rb, line 567 def self.define(name,expr,dimval=nil) if LIST[name] warn "unit definition is overwritten: #{name}" if debug end LIST[name] = self.new(expr,name,dimval) end
new(expr,name,dimval=nil)
click to toggle source
# File lib/phys/units/unit.rb, line 574 def initialize(expr,name,dimval=nil) case name when String @name = name.strip @factor = 1 @dim = {@name=>1} @dim.default = 0 @expr = nil if String===expr && /!dimensionless/ =~ expr @dimensionless = true end @dimension_value = dimval || 1 else raise ArgumentError,"Second argument must be string: #{name}" end end
Public Instance Methods
dimensionless?()
click to toggle source
# File lib/phys/units/unit.rb, line 595 def dimensionless? @dimensionless end
dimensionless_deleted()
click to toggle source
@visibility private
# File lib/phys/units/unit.rb, line 600 def dimensionless_deleted if @dimensionless {} else @dim.dup end end
use_dimension()
click to toggle source
@visibility private
# File lib/phys/units/unit.rb, line 592 def use_dimension end