Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: Stupidest Prime Number detector ever!!

by johngg (Canon)
on Jun 23, 2021 at 21:37 UTC ( [id://11134218]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Stupidest Prime Number detector ever!!
in thread Stupidest Prime Number detector ever!!

my @odds = map { $_ % 2 != 0 } @array;

That's not going to do what you think. Consider the following:-

johngg@abouriou:~$ perl -Mstrict -Mwarnings -E ' say for map { $_ % 2 != 0 } 0 .. 10;' 1 1 1 1 1

The alternating blanks and ones are registering the FALSE and TRUE results of the expression in the map, which essentially has a one to one relation between input on the right and output on the left. What you should be using instead is grep which filters input, only passing to the left those items for which the expression is TRUE.

johngg@abouriou:~$ perl -Mstrict -Mwarnings -E ' say for grep { $_ % 2 != 0 } 0 .. 10;' 1 3 5 7 9

Note also that you could dispense with the != 0 as the expression $_ % 2 will evaluate to either 0 or 1.

johngg@abouriou:~$ perl -Mstrict -Mwarnings -E ' say for grep { $_ % 2 } 0 .. 10;' 1 3 5 7 9

I hope this is helpful.

Cheers,

JohnGG

Replies are listed 'Best First'.
Re^4: Stupidest Prime Number detector ever!!
by Anonymous Monk on Jun 23, 2021 at 22:06 UTC

    Yikes!!!

    I meant  grep and not  map. Truly my bad!!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2024-03-29 02:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found