Dave Whipp writes:
 > Richard Nuttall wrote:
 > 
 > > How about
 > > 
 > > my $a = 256:192.169.34.76;
 > > my $b = $a.base(10);
 > > my $c = '34:13.23.0.1.23.45'.base(16);
 > 
 > This coupling makes me nervous. A number is a number: its value is not 
 > effected by its representation.
 > 
 > I can see that, in some scripts, it might be useful to define a property 
 > such that:
 > 
 > my $a = 26 but string_fmt("%02x"); # == ("%16.02r")
 > print $a, "$a", ~$a, sprintf("%s", +$a);
 > 
 > would print "26 1a 1a 26" (without the spaces).
 > 
 > However, I would not like to see such a property set by default. It has 
 > the potential to cause too many surprises for the unsuspecting recipient
 > of a number, who suddenly finds it behaves in funny ways.
 > 
 > 
 > Dave.
 > 
 > 
 > 

I agree, all that is just *stringification* of numeric values .  since
programm is wriiten as string we have to have different formats of
*writing* numbers for perl to understand us and correspoding formats
for perl to write numbers , for us to understand perl. so , e.g. 

 > > my $b = $a.base(10);
 > > my $c = '34:13.23.0.1.23.45'.base(16);

is nonsence . base(16) have to be a property ( or argument ) to
stringification function. 

$a = 10; 
my str $str = str( $a : "base" => 16 );
my num $a   = num( '13.23.0.1.23.45' : "base" => 34 )

arcadi 

Reply via email to