jeste k cislum

Jiri Polcar polcar na physics.muni.cz
Pátek Říjen 25 15:21:38 MEST 2002


    Zdravim,

zkusil jsem takovy testik. Vygeneroval jsem 100000 nahodych textovych
retecu a nechal jsem Perl rozhodovat, zda jde o cislo, ci nikoli. Pouzil
jsem dva zopusoby:

    1) Odchytnuti warningu

        real    0m11.526s
        user    0m10.780s
        sys     0m0.130s


    2) Regularni vyraz

        real    0m3.461s
        user    0m3.150s
        sys     0m0.020s


Nevim, jestli je test (a jeho vysledek) k necemu, ale kdyz uz jsem ho
udelal, tak se o nej podelim.


K testovani jsem pouzil tyto fce ( RE ma dokonalosti daleko):


    sub isNumber_warn {
        my $string = shift @_ || $_;

        $SIG{__WARN__} = sub { die @_ };
        eval { $string += 0 };

        return not $@;
    }

    
    sub isNumber_re {
        my $string = shift @_ || $_;

        return ( $string =~ /^[+-]?\d*(\.\d*)?(E[+|-]?\d+)?$/i );
    }


-- 
JP


Další informace o konferenci Perl