Bu karmaşanın üzerinde bir döngü içinde bir Ruby karma maddeyi güncelleştirmek nasıl?

0 Cevap php

Ben Ruby benim PHP kodu göç yaşıyorum ve bir noktada ben bir döngü içinde karma öğeleri güncelleştirmek gerekir. Örneğin:

compositions.each_pair do |element,params|
  params['composition'].each_pair do |item,data| 
    data['af'] /= params['af sum']
    data['mf'] /= params['mass']
  end
end

Ben madde dizinleri kullanarak yapabilir, ama bu çirkin olacaktır. Ilgili karma öğeleri döngü değişkenleri bağlamak için güzel bir yolu var mı? PHP Ben gelen döngüler &$params ve &$data yazardı. Ya da daha iyi bir öneri olabilir?


Update

Sorunu göstermek için iki testleri. Birincisi:

a={'a'=>1, 'b'=>2, 'c'=>3}

a.each_pair do |k,v|
  v += 1
end
p a # =>  {"a"=>1, "b"=>2, "c"=>3}

ve ikinci

a.each_pair do |k,v|
  a[k] += 1
end
p a # =>  {"a"=>2, "b"=>3, "c"=>4}

Update2

Mladen sayesinde (aşağıya bakınız), bu iki olgu arasındaki farkı anladım. Nasıl data öğesi (sadece kendi öğeleri) güncellemek için: Ancak, ben yine de bir sorum var? Kullanıcının biz ekleyeceğiz diyelim

data = data['af'] + data['mf']

İç döngü.

0 Cevap