Sha256: 211a5bc865a09556775b03dbc28746bd89f4ec582fd1b3bb4b6244c9e4130a99

Contents?: true

Size: 379 Bytes

Versions: 10

Compression:

Stored size: 379 Bytes

Contents

module Kernel

  # Repeat loop until it yeilds false or nil.
  #
  #   a = [3, 2, 1]
  #   b = []
  #
  #   complete do
  #     x = a.pop
  #     b << x
  #     x
  #   end
  #
  #   b  #=> [1, 2, 3, nil]
  #
  # Be "aware" when using this method, it easy to accidently
  # induce infinite loops.
  #
  # CREDIT: Trans

  def complete
    loop { break unless yield }
  end

end

Version data entries

10 entries across 9 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/kernel/complete.rb
facets-3.1.0 lib/core/facets/kernel/complete.rb
facets-3.0.0 lib/core/facets/kernel/complete.rb
facets-2.9.3 lib/core/facets/kernel/complete.rb
facets-2.9.2 lib/core/facets/kernel/complete.rb
facets-2.9.2 src/core/facets/kernel/complete.rb
facets-2.9.1 lib/core/facets/kernel/complete.rb
facets-2.9.0 lib/core/facets/kernel/complete.rb
facets-2.9.0.pre.2 lib/core/facets/kernel/complete.rb
facets-2.9.0.pre.1 lib/core/facets/kernel/complete.rb