Funktion sqrt() in Perl

In der Programmiersprache Perl gibt es die eingebaute Funktion sqrt(). Diese Funktion liefert die Quadratwurzel von seinem argument.

Hier ist ein Beispiel:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Dieses Programm zeigt die Anzahl der 1.4142135623731.

Argumente

my $value = sqrt($number);

Wenn die Funktionen sqrt() ein argument übergeben, wird die Funktion mit ihm zu arbeiten.

Wenn nicht kein argument übergeben, wird die Funktion arbeitet mit einer Variablen $_. Hier ist ein Beispiel (zeigt das Programm die Anzahl der 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Wenn die Funktionen sqrt() übergeben mehr als ein argument, dann wird der Fehler:

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

Der Rückgabewert

Wenn im Programm nicht verwendet Perl-Modul Math::Complex, ist das Ergebnis der Funktion sqrt() — ist immer eine Zahl.

Und wenn in dem Programm ein Modul Math::Complex, dann kann das Ergebnis ein String das Letzte Zeichen in der Buchstabe 'i', zum Beispiel '1.73205080756888i'.

Die Arbeit im Falle einer negativen Werte für

Wenn im Programm nicht verwendet Perl-Modul Math::Complex Funktionen und sqrt() einen negativen Wert übergeben, dann wird eine Ausnahme geworfen wird und die Arbeit des Programms abgeschlossen ist:

▶ Run
#!/usr/bin/perl

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

Bei der Verwendung des Moduls Math::Complex Funktion sqrt() arbeitet und mit negativen Werten. Hier ist ein Beispiel eines Programms, das zeigt der Text 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

Die offizielle Dokumentation

Hier ist die Ausgabe des Befehls 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

Andere Artikel