Funktion sqrt() i Perl

I programmeringssproget Perl har en indbygget funktion sqrt(). Denne funktion returnerer kvadratroden af sit argument.

Her er et eksempel:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Dette program vil vise antallet 1.4142135623731.

Argumenter

my $value = sqrt($number);

Hvis funktioner sqrt() for at bestå en enkelt argument, vil funktionen virke på det.

Hvis du ikke kan passere ethvert argument, vil funktionen virke med standard variable $_. Her er et eksempel (programmet viser antallet 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Hvis funktioner sqrt() pass mere end ét argument, vil det fejl:

Too many arguments for sqrt at script.pl line 3, near "2) "
Execution of script.pl aborted due to compilation errors.

Return værdi

Hvis programmet ikke bruges Perl-modul Math::Complex, resultatet af funktionen sqrt() er altid et nummer.

Men hvis programmet har et modul, der Math::Complex, så resultatet kan være en streng, som det sidste tegn, der er brev 'i', for eksempel '1.73205080756888i'.

I tilfælde af negative værdier af argumentet

Hvis programmet ikke bruges Perl-modul Math::Complex og funktioner sqrt() bestået en negativ værdi undtagelse vil blive kastet, og programmet slutter:

▶ Run
#!/usr/bin/perl

print( sqrt(-9) );
Can't take sqrt of -9 at script.pl line 3.

Når du bruger modul Math::Complex funktion sqrt() arbejder med negative værdier. Her er et eksempel program, som viser teksten 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

Officiel dokumentation

Her er outputtet af kommandoen perldoc -f sqrt:

       sqrt EXPR
       sqrt    Return the positive square root of EXPR.  If EXPR is omitted,
               uses $_.  Works only for non-negative operands unless you've
               loaded the "Math::Complex" module.

                   use Math::Complex;
                   print sqrt(-4);    # prints 2i

Andre artikler