Не. inf — это правомерное вещественное число. Вот вопрос в том как раз, что в целых его нет, а я попробовал положиться на то, что результат int() всегда целый.
18.12.2012, 00:08, "Denis Sokolovsky" <[email protected]>: > Я так понимаю что с точки зрения perl все красиво потому что литерал > "inf" трактуется специально всеми арифметическими функциями не > генерируя предупреждения. Например: > > $ perl -we ' $x = "inf"; $,=$\="\n"; print $x > 0, $x/2, $x+10, $x/"inf" ' > 1 > inf > inf > nan > > Т.е. получается что "inf" это правомерное целое число, а значит в > perldoc -f int написана вся правда ;). > > 2012/12/13 Oleg Alistratov <[email protected]>: > >> Мда. Это у меня мелкие претензии. Дело не в inf и nan. >> Вообще любой литерал, который не влазит в IV, создает NV. >> >> Так что в perldoc -f int написана не вся правда :) >> >> 13.12.2012, 11:46, "Oleg Alistratov" <[email protected]>: >>> Внезапно: >>> >>> % perl -e 'print int("Inf"), "\n";' >>> inf >>> >>> Чудес там, конечно, нет, возвращается NV: >>> >>> % perl -mDevel::Peek -e '$a = int("Inf"); print Devel::Peek::Dump($a), >>> "\n";' >>> SV = NV(0x7f9cf1830e00) at 0x7f9cf18290e8 >>> REFCNT = 1 >>> FLAGS = (NOK,pNOK) >>> NV = inf >>> >>> но получается, что функции int() нельзя доверять в плане возвращения целых >>> чисел. >>> Кто-нибудь знает, откуда растет это явление? >>> >>> -- >>> Oleg Alistratov >> -- >> Oleg Alistratov >> _______________________________________________ >> Kiev-pm mailing list >> [email protected] >> http://mail.pm.org/mailman/listinfo/kiev-pm > > -- > Denis Sokolovsky > _______________________________________________ > Kiev-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/kiev-pm -- Oleg Alistratov _______________________________________________ Kiev-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/kiev-pm
