the value undef is passed as a empty string to the actual functions, not a
ruby nil. So there's no way for a function to distinguish it from an actual
empty string.

Unless you pass it in an array of course, like warning([undef]), then it
will instead receive an array with the symbol :undef :)


On 10 January 2014 09:52, David Schmitt <da...@dasz.at> wrote:

> Hi,
>
> Please note the results of the following tests.
>
>  root@testagent:/srv/dasz# echo 'warning(defined(undef))' | puppet apply
>> Warning: Scope(Class[main]): true
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.06 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# echo 'warning(defined($foo))' | puppet apply
>> Warning: Scope(Class[main]): true
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.03 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# echo 'warning(defined(undefined))' | puppet
>> apply
>> Warning: Scope(Class[main]): false
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.03 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# echo 'warning(undef)' | puppet apply
>> Warning: Scope(Class[main]):
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.02 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# echo 'warning($foo)' | puppet apply
>> Warning: Scope(Class[main]):
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.02 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz#
>> root@testagent:/srv/dasz# echo 'warning(undefined)' | puppet apply
>> Warning: Scope(Class[main]): undefined
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.02 seconds
>> Notice: Finished catalog run in 0.13 seconds
>> root@testagent:/srv/dasz# echo 'warning(defined(File["/blah"]))' |
>> puppet apply
>> Warning: Scope(Class[main]): false
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.08 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# echo 'warning(File["/blah"])' | puppet apply
>> Warning: Scope(Class[main]): File[/blah]
>> Notice: Compiled catalog for testagent.example.org in environment
>> production in 0.08 seconds
>> Notice: Finished catalog run in 0.14 seconds
>> root@testagent:/srv/dasz# puppet --version
>> 3.4.2
>> root@testagent:/srv/dasz#
>>
>
>
> It's sad, isn't it? At least I learned something today.
>
>
> Regards, David
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/puppet-dev/52CFB4E1.4070408%40dasz.at.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Erik Dalén

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAAAzDLdHCQGc9O2-1XNmvavwaWZCjWz3_JDiCS_yBkkTL_OYmg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to