in reply to Seeing if two numbers have the same sign
Don't code “clever!” The simplest and most expressive code is always best:
sub same_sign { my ($x,$y) = @_; if ( undef($x) or undef($y)) { return 0; # "undef" is never same-sign } if ( ( ($x >= 0) and ($y >= 0) ) or ( ($x < 0) and ($y < 0) ) ) { return 1; } else { return 0; } }
Is this (caution: extemporaneous Perl...) module terse? No. Could it have been written with fewer characters? Yes. But neither of those considerations are “the point.” What matters to me is that it is obvious what this code is actually supposed to do. Everything about it, including the white space, is designed to encourage readability among humans. The Perl compiler can take care of itself.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Seeing if two numbers have the same sign
by Corion (Patriarch) on Jan 11, 2008 at 17:02 UTC | |
Re^2: Seeing if two numbers have the same sign
by demerphq (Chancellor) on Jan 11, 2008 at 19:34 UTC | |
by WoodyWeaver (Monk) on Jan 11, 2008 at 19:52 UTC | |
by demerphq (Chancellor) on Jan 11, 2008 at 20:08 UTC |