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ü.