功能 log() Perl

在Perl编程语言都有一个内置的功能 log().

功能 log() 返回的自然对数指定的数量。

这里有一个例子:

▶ Run
#!/usr/bin/perl

print log(10);

该程序将显示 2.30258509299405.

参数

如果功能 log() 没有给出参数、功能适用 的默认可变 $_:

▶ Run
#!/usr/bin/perl

$_ = 3;

print log(); # 1.09861228866811

标准的使用 log() 是通过一个单一的论点。

如果传输功能 log() 多个参数,它将是一个错误和执行代码将被停止。

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

当你试着计算自然对数零是一个错误:

▶ Run
#!/usr/bin/perl

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

回值

功能 log() 总是返回的数量。

使用的其他理由

功能 log() 返回的自然对数,即对数的基 e. 如果你想要的计算数到另一个基地,然后你可以写 功能:

▶ 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

官方文件

这里是输出的命令 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.

相关的主题

其他文章