今回の条件は、
・配列の数値を全て合計する
・ただし同じ数値だった場合には計算しない
(例)
array1 = [1, 2, 3]
sum1 = 1 + 2 + 3 = 6
array2 = [2, 4, 2]
sum2 = 4
array3 = [3, 3, 3]
sum3 = 0
というもの。
2.メソッドの引数(配列)をそれぞれブロック変数iに代入する。
※countは後ほど使用するため数値0を代入。
3.2内でさらにメソッドの引数(配列)をそれぞれブロック変数nに代入する。
そして「i = n」となった場合には2で定義していたcountに1を加える。
4.countが2未満、つまり1の時のみ変数iを配列uniq_numsに加えていく。
5.配列uniq_numsをそれぞれブロック変数uniq_numに代入して行き、sum=0に加算していく。
そして最後にsumを出力してメソッドの完成。
例えば配列[1,2,3]だった場合、
i = 1の時、n = 1,2,3と比較され、数値が1の時のみcountが1加算される。
2、3も同様。
それぞれ条件を通過して配列uniq_numsに代入されていったので、上記5の通り計算され6となる。
以上。
何に応用できるかはわからない。