Sha256: f5302ea1fcabf0602ee2f08db5fd1f27b87c0e53ec70e0d66963180bda820af7

Contents?: true

Size: 920 Bytes

Versions: 447

Compression:

Stored size: 920 Bytes

Contents

# Returns the length of an Array, Hash, String, or Binary value.
#
# The returned value is a positive integer indicating the number
# of elements in the container; counting (possibly multibyte) characters for a `String`,
# bytes in a `Binary`, number of elements in an `Array`, and number of
# key-value associations in a Hash.
#
# @example Using `length`
#
# ```puppet
# "roses".length()        # 5
# length("violets")       # 7
# [10, 20].length         # 2
# {a => 1, b => 3}.length # 2
# ```
#
# @since 5.5.0 - also supporting Binary
#
Puppet::Functions.create_function(:length) do
  dispatch :collection_length do
    param 'Collection', :arg
  end

  dispatch :string_length do
    param 'String', :arg
  end

  dispatch :binary_length do
    param 'Binary', :arg
  end

  def collection_length(col)
    col.size
  end

  def string_length(s)
    s.length
  end

  def binary_length(bin)
    bin.length
  end

end

Version data entries

447 entries across 447 versions & 2 rubygems

Version Path
puppet-7.34.0 lib/puppet/functions/length.rb
puppet-7.34.0-x86-mingw32 lib/puppet/functions/length.rb
puppet-7.34.0-x64-mingw32 lib/puppet/functions/length.rb
puppet-7.34.0-universal-darwin lib/puppet/functions/length.rb
puppet-7.33.0 lib/puppet/functions/length.rb
puppet-7.33.0-x86-mingw32 lib/puppet/functions/length.rb
puppet-7.33.0-x64-mingw32 lib/puppet/functions/length.rb
puppet-7.33.0-universal-darwin lib/puppet/functions/length.rb
puppet-7.32.1 lib/puppet/functions/length.rb
puppet-7.32.1-x86-mingw32 lib/puppet/functions/length.rb
puppet-7.32.1-x64-mingw32 lib/puppet/functions/length.rb
puppet-7.32.1-universal-darwin lib/puppet/functions/length.rb
puppet-7.31.0 lib/puppet/functions/length.rb
puppet-7.31.0-x86-mingw32 lib/puppet/functions/length.rb
puppet-7.31.0-x64-mingw32 lib/puppet/functions/length.rb
puppet-7.31.0-universal-darwin lib/puppet/functions/length.rb
puppet-7.30.0 lib/puppet/functions/length.rb
puppet-7.30.0-x86-mingw32 lib/puppet/functions/length.rb
puppet-7.30.0-x64-mingw32 lib/puppet/functions/length.rb
puppet-7.30.0-universal-darwin lib/puppet/functions/length.rb