Sha256: 4609230c11fe0dc505aec6514267e707a9e462b0114621d8c5eafefaa417c537
Contents?: true
Size: 1.19 KB
Versions: 431
Compression:
Stored size: 1.19 KB
Contents
Puppet::Parser::Functions::newfunction( :lest, :type => :rvalue, :arity => -2, :doc => <<-DOC Call a [lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) (which should accept no arguments) if the argument given to the function is `undef`. Returns the result of calling the lambda if the argument is `undef`, otherwise the given argument. The `lest` function is useful in a chain of `then` calls, or in general as a guard against `undef` values. The function can be used to call `fail`, or to return a default value. These two expressions are equivalent: ```puppet if $x == undef { do_things() } lest($x) || { do_things() } ``` **Example:** Using the `lest` function ```puppet $data = {a => [ b, c ] } notice $data.dig(a, b, c) .then |$x| { $x * 2 } .lest || { fail("no value for $data[a][b][c]" } ``` Would fail the operation because $data[a][b][c] results in `undef` (there is no `b` key in `a`). In contrast - this example: ```puppet $data = {a => { b => { c => 10 } } } notice $data.dig(a, b, c) .then |$x| { $x * 2 } .lest || { fail("no value for $data[a][b][c]" } ``` Would notice the value `20` * Since 4.5.0 DOC ) do |args| Puppet::Parser::Functions::Error.is4x('lest') end
Version data entries
431 entries across 431 versions & 2 rubygems