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

Re^3: map return to array reference

by Limbic~Region (Chancellor)
on Jan 24, 2007 at 18:21 UTC ( #596303=note: print w/replies, xml ) Need Help??

in reply to Re^2: map return to array reference
in thread map return to array reference

It just happens that if a map is used in a scalar context, it returns the number of items it would have created had it been used as a list. But it just as easily could return the day of the year instead (although not quite as useful).

Perl 5 uses documentation to explain the implementation so saying "it is documented to return the number of elements in scalar context so it can't just as easily return the day of year instead" doesn't hold much water. Fortunately, Perl 6 is intended to have a complete specification allowing for any number of implementations. This has nothing to do with the issue I wanted to make though.

Your wording to me implies that map doesn't actually create the elements it counts. The docs say "In scalar context, returns the total number of elements so generated." which implies to me they are created. I know that there could be an optimization not to actually build up the return list such as happens when map is called in a void context with recent versions. If indeed it is as you say, a doc patch should be submitted to clarify.

Cheers - L~R

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://596303]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2017-12-14 07:21 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (384 votes). Check out past polls.