我正在尝试生成随机素数
print Math::Prime::Util->random_strong_prime(128);
Run Code Online (Sandbox Code Playgroud)
但是,当我调用Math :: Prime :: Util的方法之一(我尝试各种方法)时,我得到:
Parameter 'Math::Prime::Util' must be a positive integer at /home/ivan/perl5/lib/perl5/x86_64-linux-thread-multi/Math/Prime/Util.pm line 400.
我不能错过什么是错的,128是正整数.脚本在Starman服务器下运行(psgi)
当您使用方法调用语法时,即,
Run Code Online (Sandbox Code Playgroud)Math::Prime::Util->random_strong_prime(128);
第一个参数random_strong_prime成为"Math::Prime::Util"不是正整数的字符串.使用方法调用语法,128成为第二个参数.
您使用的语法适用于调用类方法.
相反,您想要使用函数调用语法:
print Math::Prime::Util::random_strong_prime(128);
Run Code Online (Sandbox Code Playgroud)
您可以使用以下简单程序验证这一点:
#!/usr/bin/env perl
package Hello;
sub f { print "@_\n" }
package main;
Hello->f('world');
Hello::f('world');
Run Code Online (Sandbox Code Playgroud)
$ ./gg.pl Hello world world
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |