1
我想獲得下一n
號碼使用Ruby的枚舉元素,這一點:如何使用Ruby枚舉器獲取下n個元素?
a = [1, 2, 3, 4, 5, 6]
enum = a.each
enum.next(2) # expecting [1, 2]
enum.next(2) # expecting [3, 4]
但#next
不支持。有沒有另外一種方法可以做到這一點? 或我該怎麼辦?
Ruby的正確方法是什麼?
我想獲得下一n
號碼使用Ruby的枚舉元素,這一點:如何使用Ruby枚舉器獲取下n個元素?
a = [1, 2, 3, 4, 5, 6]
enum = a.each
enum.next(2) # expecting [1, 2]
enum.next(2) # expecting [3, 4]
但#next
不支持。有沒有另外一種方法可以做到這一點? 或我該怎麼辦?
Ruby的正確方法是什麼?
您可以使用take
方法
enum.take(2)
如果你需要兩個元素的片,你可以這樣做:
e = enum.each_slice(2)
p e.next
#=> [1, 2]
p e.next
#=> [3, 4]
a = [1, 2, 3, 4, 5, 6]
enum = a.dup
enum.shift(2) # => [1, 2]
enum.shift(2) # => [3, 4]
但是這一個總是返回第2.我錯了嗎? –
@ p.matsinopoulos什麼是確切的要求?你是否希望檢索每2個元素或從你最後離開枚舉的地方檢索任意數量的元素? –