Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^3: Match Numeric Range

by Your Mother (Archbishop)
on Aug 18, 2015 at 14:14 UTC ( [id://1139016]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Match Numeric Range
in thread Match Numeric Range

This kind of thing can be okay for progressive checking. I normal dislike this style of code/logic but it seems a good fit for this kind of problem.

if ( $range > 500 ) { WAT_OP(); } elsif ( $range >= 425 ) { some_op(); } elsif ( $range > 400 ) { some_other_op(); } elsif ( $range > 300 ) { exit 0; } else { complete_tree_op(); }

You can also do something more dispatchy–

my @action_tree = ( { test => sub { $_[0] >= 300 && $_[0] <= 400 }, action => sub { print "GUDNITES\n"; CORE::exit(0 +) } }, { test => sub { $_[0] >= 425 && $_[0] <= 500 }, action => sub { print "OHAI\n" } } ); while ( my $signal = <SIGNAL_SOURCE> ) { $_->{test}->($signal) && $_->{action}->() for @action_tree; }

I'm not advocating either, or that second style of terseness, or any style or approach for that matter. Just expanding the library of options. :P

Replies are listed 'Best First'.
Re^4: Match Numeric Range
by PilotinControl (Pilgrim) on Aug 18, 2015 at 14:39 UTC

    Thanks YourMother! This approach worked as expected and with narrowing down the numbers being sent out by the serial monitor I can fine tune the range of the photo resistor to accomplish what I need it too. Thanks to all who answered.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1139016]
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: (4)
As of 2024-04-20 00:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found