La función de sqrt() en Perl

En el lenguaje de programación Perl tiene integrada la función de sqrt(). Esta función devuelve la raíz cuadrada de su argumento.

He aquí un ejemplo:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Este programa mostrará en pantalla el número de 1.4142135623731.

Los argumentos

my $value = sqrt($number);

Si la función de sqrt() enviar un argumento, entonces la función será trabajar con él.

Si no pasa ningún argumento, entonces la función será trabajar con la variable $_. He aquí un ejemplo (el programa mostrará el número de 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Si la función de sqrt() enviar más de un argumento, lo que se producirá un error:

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

El valor devuelto

Si en el programa no se utiliza el módulo de Perl Math::Complex, el resultado de la ejecución de la función sqrt() — siempre es un número.

Y si un programa contiene un módulo de Math::Complex, entonces el resultado puede ser el último carácter de la cadena en la que se la letra de la 'i', por ejemplo '1.73205080756888i'.

El trabajo en caso negativo, el valor de un argumento

Si en el programa no se utiliza el módulo de Perl Math::Complex y la función de sqrt() enviado un valor negativo, entonces será arrojado una excepción y el programa de trabajo se producirá un error:

▶ Run
#!/usr/bin/perl

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

Cuando se utiliza el módulo Math::Complex la función de sqrt() funciona con valores negativos. He aquí un ejemplo de un programa que muestre en la pantalla el texto 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

La documentación oficial

He aquí el resultado del comando 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

Otros articulos