Fonction sqrt() en Perl

Dans le langage de programmation Perl, il ya une fonction intégrée sqrt(). Cette fonction retourne la racine carrée de son argument.

Voici un exemple:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Ce programme affiche le nombre de 1.4142135623731.

Les arguments

my $value = sqrt($number);

Si la fonction sqrt() envoyer un seul argument, la fonction sera de travailler avec lui.

Si vous ne transmettre aucun argument, la fonction va travailler avec la variable $_. Voici un exemple (le programme affiche le nombre de 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Si la fonction sqrt() de transmettre plus d'un argument, ce serait une erreur:

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

La valeur de retour

Si le programme n'utilise pas le module Perl Math::Complex, le résultat du travail de la fonction sqrt() — c'est toujours un nombre.

Et si le programme dispose d'un module de Math::Complex, alors le résultat peut être le dernier caractère de la chaîne à laquelle la lettre de 'i', par exemple '1.73205080756888i'.

Le travail dans le cas contraire, la valeur de l'argument

Si le programme n'utilise pas le module Perl Math::Complex et de la fonction sqrt() négative de la valeur, ce sera jeté à l'exception et le programme de travail est terminée:

▶ Run
#!/usr/bin/perl

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

Lors de l'utilisation d'un module de Math::Complex fonction sqrt() fonctionne avec des valeurs négatives. Voici un exemple de programme qui affiche le texte 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

La documentation officielle

Voici la sortie de la commande 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

Autres articles