A função sqrt() em Perl

Na linguagem de programação Perl possui a função de sqrt(). Esta função retorna a raiz quadrada de seu argumento.

Aqui está um exemplo:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

Este programa irá imprimir na tela o número de 1.4142135623731.

Argumentos

my $value = sqrt($number);

Se a função sqrt() de passar um argumento, a função será a de trabalhar com ele.

Se não passar nenhum argumento, a função irá trabalhar com a variável $_. Aqui está um exemplo (o programa apresenta o número de 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Se a função sqrt() de transmitir mais do que um argumento, então o erro será:

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

O valor de retorno

Se o programa não utilizado módulo Perl Math::Complex, o resultado do trabalho da função sqrt() — é sempre um número.

E se o programa é o módulo de Math::Complex, então o resultado pode ser uma cadeia de caracteres e o último símbolo que será a letra 'i', por exemplo '1.73205080756888i'.

Trabalho em caso negativo, o valor do argumento

Se o programa não utilizado módulo Perl Math::Complex e funções sqrt() transferido para um valor negativo, então, será lançada uma exceção e o programa de trabalho falhará:

▶ Run
#!/usr/bin/perl

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

Quando utiliza o módulo de Math::Complex função sqrt() funciona e com valores negativos. Aqui está um exemplo de um programa que irá imprimir na tela o texto 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

A documentação oficial

Aqui está a saída do 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

Outros artigos