的碼本部分計算每個算術系列直到幷包括數用戶放入的值:關於注射方法:它是如何工作的?
print "enter a number: "
num = gets.to_i
(1..num).inject(0) do |res, e|
res += e
p res
end
我認爲(1..num)
是的範圍內,num
作爲用戶輸入。我知道inject
通過應用由命名方法或運算符的塊或符號指定的二進制操作來組合枚舉的所有元素。
我不明白這行的每個元素的作用:
(1..num).inject(0) do |res, e|
- 是什麼
|res, e|
意思?它必須是定義什麼inject
的塊,但是例如res
和e
代表什麼? (e
大概是要素?) - 是什麼
(0)
立場? - 指令
do
做什麼? - 什麼是它關於
(1..num)
和inject(0)
連接? - 我是正確的假設,
p
末剛剛代表puts
或print
?
您可以組合塊的兩行:'p res + e' – Stefan