
We don't bite newbies here... much

Re^2: Perl oddities

by Roy Johnson (Monsignor)
on Mar 01, 2005 at 18:21 UTC ( #435556=note: print w/ replies, xml ) Need Help??

in reply to Re: Perl oddities
in thread Perl oddities

It seems pretty sensible to me to say that the integer portion of -3.5 is -3.

It's still pretty easy to write ceil and floor:

sub ceil { my $n = shift; int($n) + ($n > int($n)); } sub floor { my $n = shift; int($n) - ($n < int($n)); }

Caution: Contents may have been coded under pressure.

Comment on Re^2: Perl oddities
Download Code
Re^3: Perl oddities
by merlyn (Sage) on Mar 01, 2005 at 18:24 UTC
      As someone who has just posted a couple of times about undocumented behavior, I will not protest too loudly about being called on this one. Still, it's a convention that has been relied on and seems unlikely to change.

      The obvious fix is:

      sub ceil { my $n = shift; int($n) + ($n > int($n) ? 1 : 0); }

      Caution: Contents may have been coded under pressure.
      We will try to nail those down a little better in Perl 6. Returning the null string for false was a premature optimization on my part, and a false economy (as it were), so the standard boolean operators will return 0 and 1 in Perl 6 so that when you print them out, they look like something rather than nothing. Also, since Perl 6 distinguishes boolean from numeric and string contexts, it can optimize away the actual production of a 0 or 1 value in many cases.

      That's not to say that we're ever going to require people to use 0 and 1 for boolean values. Perl 6 will be just like Perl 5 in letting you treat just about anything as a boolean value. So non-zero numbers are still true, as are strings that aren't null or "0". And maybe we can fix the "0" problem too.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2014-03-17 20:42 GMT
Find Nodes?
    Voting Booth?

    Have you used a cryptocurrency?

    Results (358 votes), past polls