At 01:27 PM 10/11/2001 +0200, RaFaL Pocztarski wrote:
>David Nicol wrote:
>
> > RaFaL Pocztarski wrote:
> >
> > > > First this thread tells me that "123foo" will be 123 in numeric
> > > > context. Now I find myself wondering what "123indigo" evaluates
> > > > to!
> >
> > Also 123.  I think that complex numbers, if happening automatically,
> > would only match
> >
> >     ($realpart, $imaginarypart) = /^\b(\d*\.?\d+)\+(\d*\.?\d+)i\b/
> >
> > and "123indigo" does not match that.
>
>I'm not sure how strings like "123indigo" should be handled, but I think
>that imaginary numbers should also be recognized as complex written 10i
>and not only 0+10i.

Sure. 5 + 10i will probably evaluate to "5" + "10i" and just get 
constant-folded at compile time. ;)

>I don't think that imaginary numbers should have
>their own class, like real ones have.

If we support imaginary numbers, it'll be via a beefed up number type. 
Basically the numeric bits will be expanded to have a real and an imaginary 
type. (Support for generating imaginary numbers will probably be lexically 
scoped. As Hugo's pointed out, suddenly generating imaginaries where we 
used to throw errors will probably trip up the unwary)

As for more complex string literals evaluating to numbers, I think that's 
something best left to either a user-written sub, or user-written fancy 
parser hacks. Up to Larry whether it goes in the base language, but I think 
I'd prefer not.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to