Sha256: 9cd2a007a91f8a65df63e9612f157aac9cb75ebc71d56efe5a176f3d14e15167

Contents?: true

Size: 1.02 KB

Versions: 28

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

Puppet::Parser::Functions.newfunction(
  :break,
  :arity => 0,
  :doc => <<~DOC
    Breaks the innermost iteration as if it encountered an end of input.
    This function does not return to the caller.

    The signal produced to stop the iteration bubbles up through
    the call stack until either terminating the innermost iteration or
    raising an error if the end of the call stack is reached.

    The break() function does not accept an argument.

    **Example:** Using `break`

    ```puppet
    $data = [1,2,3]
    notice $data.map |$x| { if $x == 3 { break() } $x*10 }
    ```

    Would notice the value `[10, 20]`

    **Example:** Using a nested `break`

    ```puppet
    function break_if_even($x) {
      if $x % 2 == 0 { break() }
    }
    $data = [1,2,3]
    notice $data.map |$x| { break_if_even($x); $x*10 }
    ```
    Would notice the value `[10]`

    * Also see functions `next` and `return`
    * Since 4.8.0
  DOC
) do |_args|
  Puppet::Parser::Functions::Error.is4x('break')
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
puppet-8.10.0 lib/puppet/parser/functions/break.rb
puppet-8.10.0-x86-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.10.0-x64-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.10.0-universal-darwin lib/puppet/parser/functions/break.rb
puppet-8.9.0 lib/puppet/parser/functions/break.rb
puppet-8.9.0-x86-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.9.0-x64-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.9.0-universal-darwin lib/puppet/parser/functions/break.rb
puppet-8.8.1 lib/puppet/parser/functions/break.rb
puppet-8.8.1-x86-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.8.1-x64-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.8.1-universal-darwin lib/puppet/parser/functions/break.rb
puppet-8.7.0 lib/puppet/parser/functions/break.rb
puppet-8.7.0-x86-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.7.0-x64-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.7.0-universal-darwin lib/puppet/parser/functions/break.rb
puppet-8.6.0 lib/puppet/parser/functions/break.rb
puppet-8.6.0-x86-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.6.0-x64-mingw32 lib/puppet/parser/functions/break.rb
puppet-8.6.0-universal-darwin lib/puppet/parser/functions/break.rb