我有這樣的代碼這樣(我經常碰到這種方法簽名,那我從Java未來的小白):紅寶石重構散列循環方法的返回
def totals
t = 0
@data.each do |k, v|
t += v['totals'].to_i
end
t
end
@data
是哈希散列,每個內部散列值都有一個totals
密鑰。正如你所看到的,我總結了所有的總數。
這可以用不同的風格進行簡化或編程(我相信!這是RUBY的後續)?爲什麼我需要實例化t
?我不能直接從每個循環返回t
而沒有最後的條件嗎?
它只是不覺得乾淨! 哦等一下!我只記得塊,但我會等你的答案...
UPDATE:
的數據結構是這樣:
{ typeA: { items: [], totals: "10" }, typeB: { items: [], totals: "23" }}
我使用Rails!因此,如果Rails的特殊功能超越了Ruby的紅色堆棧,那麼它們也將非常棒!
接受更好的API參考,並提及Nermin的ActiveSupport,它的速度提高了6秒!強硬的呼喚! – mahatmanich
什麼是'| _,v |',這是哈希的一些約定,但沒有使用密鑰? – mahatmanich
@mahatmanich對於未使用的變量,在塊中使用'_'表示法 –