2016-05-30 13 views

答えて

0

あなたはこのためにinjectを使用することができます。

q.reverse_each.inject do |acc, value| 
    value.from(acc) 
end 

逆が正しい順序で物事を取得するために必要とされています。最初にブロックが呼び出されると、accqの最後の要素であり、例ではq[3]であり、値はq[2]です。次の反復で、値がq[1]あり、accは、前のブロック(q[2].from(q[3]))からの結果であるので、

q[1].from(q[2].from(q[3])) 

そしてそうで

を算出します