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.
