Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I'm using some because the parent used sum. And s/he's using sum because s/he is emulating tye's addition of booleans.

You're right that !! screams boolean. However, that's not what is happening here. We are adding numbers here. Let me ask you what "true + false + true" is. That's just nonsensical. Programmers have been getting away with it for years because computers only deal with numbers - whether that's boolean, character, or, oddly enough, numerical. But, abstractly, it makes no sense. You can't add booleans. Boolean algebra consists of operators such as not, and, or, xor, nand, and nor. (I may have missed some - it's been a few years since I've dealt that directly with boolean algebra in the theoretical sense.) Addition, subtraction, multiplication, division - all of these are nonsensical in the boolean world. In fact, the multiplication symbol (the middle-dot, ·) was reused for the "and" operator, and the addition symbol (+) was reused for the "or" operator, IIRC (which I may not recall correctly...). And, as in mathematical algebra, the multiplication symbol is optional between terms, further reusing the sigils.

Therefore, adding boolean values is just confusing. The answer to the question above is that "true + false + true" equals "true" (numerically: 1 || 0 || 1) - and the OP wants this to be a count of 2. Which, if my memory serves, the OP wants "a nor b nor c" Unfortunately, the nor solution doesn't scale past three.

grep, unlike sum, uses boolean context. So the choices are to either sum numbers (using the ternary operator, for example), or to grep a list in scalar context. Adding booleans makes me question whether the author knows what s/he's doing, or is just copying what someone else is doing - whether s/he's too clever (in taking advantage of undefined behaviour) or not clever enough by half (in just copying something that works without understanding that it's undefined behaviour).


In reply to Re^5: One out of three ain't bad (order) by Tanktalus
in thread One out of three ain't bad by saintmike

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2024-04-19 20:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found