Funkcja sqrt() w Perl

W języku programowania Perl jest wbudowana funkcja sqrt(). Ta funkcja zwraca pierwiastek kwadratowy swój argument.

Oto przykład:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Ten program wypisze na ekran liczba 1.4142135623731.

Argumenty

my $value = sqrt($number);

Jeśli funkcje sqrt() przekazać jeden argument, to funkcja będzie z nim pracować.

Jeśli nie oddać ani jednego argumentu funkcja będzie działać z дефолтной zmiennej $_. Oto przykład (program wyświetli liczbę 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Jeśli funkcje sqrt() przekazać więcej niż jeden argument, to będzie błąd:

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

Wartość zwracana

Jeśli w programie nie jest używany moduł Perl Math::Complex, to wynik działania funkcji sqrt() — jest to zawsze liczba.

A jeśli w programie jest moduł Math::Complex, to wynik może być wiersz ostatni znak w której będzie litera 'i', na przykład '1.73205080756888i'.

Praca w przypadku ujemnej wartości argumentu

Jeśli w programie nie jest używany moduł Perl Math::Complex i funkcji sqrt() przekazana wartość ujemną, to zostanie wyrzucony wyjątek i praca programu zakończy się:

▶ Run
#!/usr/bin/perl

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

Przy użyciu modułu Math::Complex funkcja sqrt() działa i z wartościami ujemnymi. Oto przykład programu, który wyświetla na ekranie tekst 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

Oficjalna dokumentacja

Oto wynik polecenia 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

Inne artykuły