Funzione abs() in Perl

Nel linguaggio di programmazione Perl ci sono built-in funzione di abs(). Questa funzione restituisce il modulo dal suo argomento.

Ecco un esempio:

▶ Run
#!/usr/bin/perl

print abs( -3.14159265358979 );

Questo programma visualizza 3.14159265358979.

Argomenti

my $abs_value = abs($value);

Se la funzione abs() passare un solo argomento, la funzione di lavorare con lui.

Se non trasmettere alcun argomento, la funzione sarà lavorare con di default della variabile $_. Ecco un esempio (il programma visualizzerà il numero di 8):

▶ Run
#!/usr/bin/perl

$_ = -8;

print abs();

Se la funzione abs() di trasferire più di un argomento, quello è un errore:

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

Nel caso in funzione trasmessa stringa, esso viene convertito in un numero. Leggi di più su come Perl converte le stringhe in numeri.

Ecco un esempio di codice in cui la funzione abs() funziona con le stringhe:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

say abs('Hello');
say abs('-100asdf');
say abs(' -123JK');

Questo programma visualizza:

0
100
123
Argument "Hello" isn't numeric in abs at script.pl line 7.
Argument "-100asdf" isn't numeric in abs at script.pl line 8.
Argument " -123JK" isn't numeric in abs at script.pl line 9.

In tal caso, se come argomento di utilizzare undef, la funzione restituisce il numero di 0, ma se nel codice ci sono use warnings;, verrà visualizzato un avviso Use of uninitialized value in abs at script.pl line 6..

Il valore restituito

Funzione abs() restituisce sempre un numero non negativo.

La documentazione ufficiale di

Ecco l'output del comando perldoc -f abs:

    abs VALUE
    abs     Returns the absolute value of its argument. If VALUE is omitted,
            uses $_.

Temi correlati

Altri articoli