David Nicol wrote:

> RaFaL Pocztarski wrote:

> > Or maybe NaN evaluates to 'NaN' in string context and
> > +$x eq 'NaN' (or +$x eq NaN) could be used? NaN==NaN being false is in
> > fact very intuitive for me, as NaN is something without any numerical
> > meaning, so numerically compared to anything doesn't make sense (as ==
> > means numerical equality, not just equality). Maybe it should be undef
> > instead of false?
>
> I'm coming to this thread after nearly a week of everyone weighing in
> their opinions, and fully expect to see what I'm about to type in
> stated by someone else, days ago, a little further down the long list
> of posts.

Actually you have just quoted me when I said that.. :)

> What if not-a-number stringifies to NaN, but numerically always compares
> to false, so the conditional in the example could CLEARLY be written
>
>         while $inflation ne NaN;

It should be:

    while +$inflation ne NaN;

because $inflation itself can be (and probably is) some other string
than 'NaN', so +$inflation evaluates to NaN, and when ne operator
provides a string context it then evaluates to 'NaN'.

- RaFaL Pocztarski, [EMAIL PROTECTED]


Reply via email to