Issue #15329 has been updated by Reid Vandewiele.

Thanks for clarifying. Everything is starting to make more sense now. :-)

I understand the use case for `undef` when used as I described. When using the 
DSL I've actually never thought to try and use undef to "override" a defined 
resource default by passing in `undef` as a "nothing" value, since in my mind 
"undef" very clearly means its mnemonic, which is to "undefine" a setting, thus 
reverting to the default.

Can you indicate an example use case for wanting to pass in an explicit 
"nothing" parameter in the DSL in order to override a default, and describe the 
benefit (or draw/motivation) for doing so along with a pseudo-DSL sample (e.g. 
using a hypothetical "nothing" keyword)? I think a concrete example would 
further clarify a lot of the discussion in this thread.
----------------------------------------
Bug #15329: Puppet lacks a proper "undefined" value
https://projects.puppetlabs.com/issues/15329#change-78355

Author: Pieter van de Bruggen
Status: Accepted
Priority: Normal
Assignee: Henrik Lindberg
Category: 
Target version: 
Affected Puppet version: 
Keywords: backlog
Branch: 


    $y = undef
    notice($y == "")  # true
    notice($x == $y)  # true
    notice($x == "")  # true

Recent changes in the Puppet DSL made equality commutative (good!), but in 
doing so broke work-arounds for actually testing for the difference between an 
undefined and "empty" value.  The most logical fix would be to equate Puppet's 
`undef` with Ruby's `nil`.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to