Funkcja abs() w Perl

W języku programowania Perl jest wbudowana funkcja abs(). Ta funkcja zwraca moduł swój argument.

Oto przykład:

▶ Run
#!/usr/bin/perl

print abs( -3.14159265358979 );

Ten program wypisze na ekran 3.14159265358979.

Argumenty

my $abs_value = abs($value);

Jeśli funkcje abs() przekazać jeden argument, to funkcja będzie z nim pracować.

Jeśli nie oddać ani jednego argumentu funkcja będzie działać z дефолтной zmiennej $_. Oto przykład (program wyświetli liczbę 8):

▶ Run
#!/usr/bin/perl

$_ = -8;

print abs();

Jeśli funkcje abs() przekazać więcej niż jeden argument, to będzie błąd:

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

W przypadku, gdy w funkcji przekazywane wiersz, to jest konwertowany do liczby. Więcej o tym jak Perl konwertuje ciąg w liczby.

Oto przykład kodu, w którym funkcja abs() współpracuje z ciągów:

▶ Run
#!/usr/bin/perl

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

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

Ten program wypisze na ekran:

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.

W przypadku, gdy jako argumentu użyć undef, to funkcja zwróci liczbę 0, ale jeśli w kodzie jest use warnings;, zostanie wyświetlone ostrzeżenie Use of uninitialized value in abs at script.pl line 6..

Wartość zwracana

Funkcja abs() zawsze zwraca nieujemną.

Oficjalna dokumentacja

Oto wynik polecenia perldoc -f abs:

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

Tematy pokrewne

Inne artykuły