class HRecord
Public Class Methods
new(fieldValue, fieldName = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 21 def initialize(fieldValue, fieldName = :key) self.setValue(fieldValue, fieldName) end
test()
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 65 def self.test() rec = HRecord.new("a") rec.setValue("0", "index-0") rec.set("index-1", "1") rec.show() puts rec == rec end
Public Instance Methods
<=>(record)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 40 def <=>(record) self[:key] <=> record[:key] end
method_missing(var, *args)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 8 def method_missing(var, *args) if var =~ /^(\w+)=$/ if self.include?($1.to_s) self.set($1.to_s, args[0]) else self.set($1.to_sym, args[0]) end return self else return self.value(var.to_sym) || self.value(var.to_s) end end
set(fieldName, fieldValue)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 30 def set(fieldName, fieldValue) self.setValue(fieldValue, fieldName) return self end
setValue(fieldValue, fieldName = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 25 def setValue(fieldValue, fieldName = :key) self[fieldName] = fieldValue return self end
show(key = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 48 def show(key = :key) color = self.include?(:color) ? self[:color] : "white" value = $hpformat % self.value().to_s() eval("print value.#{color}") end
showAll(key = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 56 def showAll(key = :key) self.each do |key, value| puts "#{key}: #{value}" end puts "=" * 20 end
to_f(fieldName = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 44 def to_f(fieldName = :key) return self[fieldName].to_f() end
value(fieldName = :key)
click to toggle source
# File lib/hdatastructures/hrecord.rb, line 35 def value(fieldName = :key) puts "hrecord::value: it's exist #{fieldName} symbol and string - #{self}".red if self[fieldName.to_sym] and self[fieldName.to_s] return self[fieldName.to_sym] || self[fieldName.to_s] end