Я бы хотел рассчитать дельта для моей статистики. Я уже пробовал HashDiff драгоценный камень для сравнения хешей.Как рассчитать дельта между двумя хэшами?
a = {"Lima, Peru"=>"83", "Chicago, IL"=>"35"}
b = {"Lima, Peru"=>"80", "Chicago, IL"=>"40", "Krakow, Poland" => '3'}
CalculateDelta.new (а, б) .Execute
b = {"Lima, Peru"=>"-3", "Chicago, IL"=>"5", "Krakow, Poland" => '3'}
или даже лучше
b = {"Lima, Peru"=>["-", "3"], "Chicago, IL"=>["+", "5"], "Krakow, Poland" => ["+", '3']}
Я уже писал что-то вроде этого
class CalculateDeltas < Struct.new(:a, :b)
def calculate
aa = a.to_a
ba = b.to_a
c = aa + ba
c.group_by(&:first).map{|k,v| [k, v.map(&:last).inject(:+)]}
end
end
Ох! Вы _Surya_ .. :-) Почему нет имени ..? :) –
Почему? Что случилось .. Блокировка учетной записи ..? ;) –
да о.О сказал вам, правильно. blunder :) – Surya