gpt4 book ai didi

raku - Perl 6 中的 .is-prime 和 is-prime() 之间有什么区别吗?

转载 作者:行者123 更新时间:2023-12-04 20:30:16 25 4
gpt4 key购买 nike

好像is-prime.is-prime区别对待他们的论点:

> is-prime('11')
True
> '11'.is-prime
No such method 'is-prime' for invocant of type 'Str'
in block <unit> at <unknown file> line 1
> is-prime(2.5)
False
> (2.5).is-prime
No such method 'is-prime' for invocant of type 'Rat'
in block <unit> at <unknown file> line 1

最佳答案

这是来自 Int class 的例程定义

proto sub is-prime($) is pure  {*}
multi sub is-prime(Int:D \i) {
nqp::p6bool(nqp::isprime_I(nqp::decont(i), nqp::unbox_i(100)));
}
multi sub is-prime(\i) {
i == i.floor
&& nqp::p6bool(nqp::isprime_I(nqp::decont(i.Int), nqp::unbox_i(100)));
}

第二个 multi isprime_I.Int 转换它的参数.任何具有该方法的东西都可以返回一个可能是素数的整数。

这不平衡是我不喜欢 Perl 6 的一件事。如果我们有一个可以这样做的例程,我们应该将方法移到类结构中的更高位置。

关于raku - Perl 6 中的 .is-prime 和 is-prime() 之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47962163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com