Funktion abs() i Perl

I programmeringssproget Perl har en indbygget funktion abs(). Denne funktion returnerer den modulus af sit argument.

Her er et eksempel:

▶ Run
#!/usr/bin/perl

print abs( -3.14159265358979 );

Dette program viser 3.14159265358979.

Argumenter

my $abs_value = abs($value);

Hvis funktioner abs() for at bestå en enkelt argument, vil funktionen virke på det.

Hvis du ikke kan passere ethvert argument, vil funktionen virke med standard variable $_. Her er et eksempel (programmet viser antallet 8):

▶ Run
#!/usr/bin/perl

$_ = -8;

print abs();

Hvis funktioner abs() pass mere end ét argument, vil det fejl:

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

Hvis funktionen af de overførte streng, der er konverteret til et tal. Læs mere om, hvordan Perl konverterer strenge til tal.

Her er et eksempel på en kode, som funktion abs() arbejder med strenge:

▶ Run
#!/usr/bin/perl

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

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

Dette program vil vise:

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.

Hvis et argument for at bruge undef, vil funktionen returnere antallet 0, men hvis koden har use warnings;, vil du se en advarsel Use of uninitialized value in abs at script.pl line 6..

Return værdi

Funktion abs() returnerer altid et ikke-negativt tal.

Officiel dokumentation

Her er outputtet af kommandoen perldoc -f abs:

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

Relaterede emner

Andre artikler