Perl中Math :: BigInt与标量的比较

时间:2019-06-26 19:36:35

标签: perl

在下面的代码中,BigInt对象和perl标量之间进行了比较。尽管它给出正确的输出,但想知道 a)混合两者是否可以。 b)标量是否被提升为BigInt

use Math::BigInt;
my $a = 11;
my $bInt = Math::BigInt->new("0xa");
print "a = $a";
print "bInt = $bInt\n";

if ($bInt < $a) {
    print "LESS\n";
} else {
    print "EQUAL OR GREATER\n";
}

Output:
a = 11
bInt = 10
LESS

1 个答案:

答案 0 :(得分:2)

是的,Math :: BigInt对象重载比较运算符,这意味着在比较中使用它们时,重载将正确处理它,并且不会更改本机值。这里还有更多详细信息:https://perldoc.pl/Math::BigInt#Mixing-different-object-types,当然,overload文档也有很多细节。