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