我正在使用此代碼來計算一些數的平均值 - 注意,rankings
列是序列化和包含哈希:Rails的平均 - 收集僅當值<> 0
@reviews.collect{|review| review.rankings[label].to_i}.sum.to_f/@reviews.length if @reviews.length > 0
與此缺點代碼是這樣的:如果其中一個值是nil
,則平均值計算爲它存在爲零。問題基本上是分母@reviews.length
假定每個評論都有相關的價值。
如何從分母中排除那些不計算在內的評論?
非常感謝您的回答。問題最終與分母一起出現,即/@reviews.length
部分。當我在分子和分母上都使用reject
時,等式停止除以總長度,並開始除以(長度 - 零)。
最終結果-2分數[0和100]平均爲50; [無和100]的平均值爲100.
不太但我設法得到它的工作按我上面的回覆。無論如何我都接受。非常感謝! – sscirrus 2011-03-15 06:42:35