Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

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
Replies are listed 'Best First'.
Re^3: Perl oddities
by merlyn (Sage) on Mar 01, 2005 at 18:24 UTC
      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.

      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.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (19)
As of 2015-07-28 19:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (258 votes), past polls