Fonction log() en Perl

Dans le langage de programmation Perl, il ya une fonction intégrée log().

La fonction log() renvoie le logarithme népérien du nombre spécifié.

Voici un exemple:

▶ Run
#!/usr/bin/perl

print log(10);

Le programme affichera 2.30258509299405.

Les arguments

Dans ce cas, si la fonction log() n'est pas transmises à aucun argument, la fonction travaille avec дефолтной variable $_:

▶ Run
#!/usr/bin/perl

$_ = 3;

print log(); # 1.09861228866811

L'utilisation standard de la fonction log() — c'est de lui transmettre un argument.

Si vous passez de la fonction log() a plus d'un argument, ce serait une erreur et l'exécution de code sera arrêté.

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

Lorsque vous essayez de calculer le logarithme de zéro erreur:

▶ Run
#!/usr/bin/perl

log(0);
Can't take log of 0 at script.pl line 3.

La valeur de retour

La fonction log() renvoie toujours un nombre.

L'utilisation d'autres motifs

La fonction de log() renvoie le logarithme népérien, c'est-à-dire le logarithme de base e. Si vous souhaitez calculer le logarithme d'une autre base, vous pouvez écrire vous-même fonction:

▶ Run
#!/usr/bin/perl

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

sub log_base {
    my ($base, $n) = @_;

    return log($n)/log($base);
};

say log_base(2, 4); # 2
say log_base(2, 256); # 8
say log_base(10, 1000); # 3

La documentation officielle

Voici la sortie de la commande perldoc -f log:

    log EXPR
    log     Returns the natural logarithm (base *e*) of EXPR. If EXPR is
            omitted, returns the log of $_. To get the log of another base,
            use basic algebra: The base-N log of a number is equal to the
            natural log of that number divided by the natural log of N. For
            example:

                sub log10 {
                    my $n = shift;
                    return log($n)/log(10);
                }

            See also "exp" for the inverse operation.

Thèmes connexes

Autres articles