Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: RFC: New style for argument check in subs

by BrowserUk (Pope)
on Sep 05, 2012 at 13:34 UTC ( #991853=note: print w/ replies, xml ) Need Help??


in reply to Re^2: RFC: New style for argument check in subs
in thread RFC: New style for argument check in subs

You have a special understanding of optional.

What a beautifully crafted put-down :)

My reasoning is: if its allowed, even if it is optional -- in fact especially if it is optional -- it should have a default value. Even if that default value is undef.

One of the benefits of that, is that it deals with the "actual value is undef" problem. If the explicitly passed value is undef, and you override it to its default which is undef, then ...

I do remember some discussion around the possibility of using undef to override a default value, but I decided that such usage was rare and obscure enough that if teh occasion arose it was necessary, I'd had code a solution for it above or below the standard mechanism as appropriate.

I don't mind hand coding a solution for the 1 in 1000 case, if that means the other 999 cases operate in an efficient manner.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

RIP Neil Armstrong

/blockquote


Comment on Re^3: RFC: New style for argument check in subs
Re^4: RFC: New style for argument check in subs
by LanX (Canon) on Sep 05, 2012 at 13:45 UTC
    It took me some time to understand that passing undef works in %def.

    That's when I updated my reply ...

    But naming it %allowed would be much clearer.

    > I don't mind hand coding a solution for the 1 in 1000 case, if that means the other 999 cases operate in an efficient manner.

    I agree, but I think I'm closer to 999 than you are! :)

    Cheers Rolf

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://991853]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2014-09-21 13:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (169 votes), past polls