3
我認爲Ruby的inject
方法對於計算總和非常簡便。但是,如果我要計算平均和使用inject
,我總是最後是這樣的:如何使用Ruby的注入功能計算平均值
total_ranked_query_results = @results.count { |result| result.class == RankedQueryResult }
@results.inject(0.0) { |sum, result| result.class == RankedResult ? sum + result.average_precision : sum }/total_ranked_query_results
所以我基本都遍歷兩次找出多少RankedResults
有以計算平均值。
有沒有更好的(rubyesque)方法來避免這種情況?
在tmp.last正確計算第一個例子中,應該增加只有當結果是排名結果 – Tonttu 2011-01-27 10:56:20