Class: Lazily::Dequeuer
- Inherits:
-
Object
- Object
- Lazily::Dequeuer
- Includes:
- Enumerable
- Defined in:
- lib/lazily/dequeuing.rb
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(queue, terminator = nil) ⇒ Dequeuer
constructor
A new instance of Dequeuer.
Methods included from Enumerable
#[], #chunk, #collect, #compact, #concat, #drop, #drop_while, #flat_map, #flatten, #grep, #in_threads, #lazily, #lazy?, #prefetch, #reject, #select, #slice_before, #take, #take_while, #uniq, #zip
Methods included from Enumerable
Constructor Details
#initialize(queue, terminator = nil) ⇒ Dequeuer
Returns a new instance of Dequeuer.
17 18 19 20 |
# File 'lib/lazily/dequeuing.rb', line 17 def initialize(queue, terminator = nil) @queue = queue @terminator = terminator end |
Instance Method Details
#each ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/lazily/dequeuing.rb', line 22 def each loop do next_value = @queue.pop break if @terminator === next_value yield next_value end end |