Method: Transformer::Lazy#drop_while
- Defined in:
- lib/coroutines/base.rb
#drop_while(&block) ⇒ Object
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 |
# File 'lib/coroutines/base.rb', line 299 def drop_while(&block) Transformer.new do |y| yy = Yielder.new y dropping = true yy.define_yield do |*values| if dropping if not block.call(*values) dropping = false y.yield(*values) end else y.yield(*values) end yy end @trans.call yy end end |