Ruby

Ruby: 採点方式 - 上位20%と下位20%を抜いた平均点の求め方


やりたい事

レビュー評価の時に、悪意を持った評価や過剰に高すぎる点数をなるべく排除するために上位と下位の20%を抜いた平均のプログラムを求めてみた。

プログラムとしては、クソコードなので参考程度にして頂ければ幸いです。

また、改善点があればご指摘いただけると幸いです。

#配列の要素数

array = [0,2,3,2,5,5,4,3,3,4,4,2,1,5,3,4,5,5,5,5]
#arrayを小から大に順ソートする
sort = array.sort
#配列の要素数の6割を求める
endArray = (array.count * 0.6)
#配列の要素数の4割を求める/且つ先頭から上位2割を切り抜く為の計算
startArray = (array.count * 0.4) / 2
#下位20%と上位20%を切り抜いて抜き出す
sort_cut = sort.slice(startArray.to_i,endArray.to_i)
#平均を求める
avarage = sort_cut.sum.quo(sort_cut.count).to_f
puts avarage.floor(1)
#平均: 3.7点