=begin
doctest: setup
>> require 'dsh'
=> true
doctest: years
>> years = dsh [:year, :day, :hour, :minute, :second, :millisecond], [ 1, 1, 24, 60, 60, 1000]
=> {:second=>31536000, :minute=>525600, :hour=>8760, :day=>365, :year=>1}
doctest: yrd
>> yds = dsh [:yd, :ft, :in], [1, 3, 12]
=> {:yd=>1, :ft=>3, :in=>36}
=end
def dsh(un, va)
(va.size - 1).downto(1) {|j| va[j] = va[0 .. j].inject(1) { |pr, it| pr * it } }
ar = un.zip va
hs = {}
ar.each {|i| hs[i[0]] = i[1] }
hs
end