Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: the '..' operator and decreasing values

by eXile (Priest)
on Mar 04, 2005 at 22:42 UTC ( [id://436793]=note: print w/replies, xml ) Need Help??


in reply to the '..' operator and decreasing values

thanks for the replies everybody, I already had a workaround (although that wasn't clear for the OP), and was just curious if anybody knows why this doesn't work as I expected, and why it returns an empty list. If I wanted to see if one value is bigger than the other, I could have simply compared them, I don't need '..' for that.

Replies are listed 'Best First'.
Re^2: the '..' operator and decreasing values
by Anonymous Monk on Mar 04, 2005 at 22:50 UTC
    The range operator uses the magic increment operator internally so that it can work on strings (i.e, 'a'..'zzz'). Since there is no corresponding magic decrement operator, it doesn't work in reverse. You could make the argument that for numeric endpoints, you don't need the increment/decrement to be magical, but this is the way it is...
Re^2: the '..' operator and decreasing values
by ChemBoy (Priest) on Mar 04, 2005 at 23:20 UTC

    Well, contrariwise, it's useful in its current form if you want to be able to short-circuit out empty lists without having to do an explicit test. For (contrived, but based on a real-world memory) example:

    sub contrivance { my $min = shift; my $max = some_function(); for ($min .. $max) { print "I think that $_ is a valid possibility\n"; } }

    Contrived, as I said. But the point is that you can readily find a family of uses for the range operator where you'd want to return an empty list rather than counting backward if the RHS is less than the LHS, just as you can (and indeed, you have) for the opposite. Apparently, Larry thought my use case was more common than yours—lucky me, huh? :-)



    If God had meant us to fly, he would *never* have given us the railroads.
        --Michael Flanders

Re^2: the '..' operator and decreasing values
by merlyn (Sage) on Mar 04, 2005 at 23:02 UTC
    this doesn't work as I expected
    The key element there being "I".

    Perl works as Larry expects. It's up to the rest of us to figure out what that means. (And for some of us to write about it and teach it.)

    -- Randal L. Schwartz, Perl hacker
    Be sure to read my standard disclaimer if this is a reply.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (7)
As of 2024-03-28 19:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found