我已閱讀關於枚舉類。我不能完全明白是怎麼回事:Ruby Enumerator類
[0, 1].each { |i| puts i }
通過自身[0, 1].each
返回=> #<Enumerator: [0, 1]:each>
所以,問題是我們是否尋路塊陣列的each
方法或的實例枚舉類?
我已閱讀關於枚舉類。我不能完全明白是怎麼回事:Ruby Enumerator類
[0, 1].each { |i| puts i }
通過自身[0, 1].each
返回=> #<Enumerator: [0, 1]:each>
所以,問題是我們是否尋路塊陣列的each
方法或的實例枚舉類?
和其他許多方法一樣,Array#each
返回和Enumerator
如果一個塊沒有通過,但它遍歷數組併爲每個項目調用塊,如果一個塊被傳遞。
塊返回的每個數組項的值是在塊傳遞時由Array#each
返回的數組元素。
要回答你的問題,該塊和Enumerator
從未見過。
您不能將參數(包括塊)傳遞給對象。唯一可以帶參數的東西(包括塊)是消息發送和塊。所以,顯然,它必須是前者。