|
|
1
5
只要发挥作用。 改为创建子例程:
更新(感谢raiph!纳入您的反馈,包括使用
在上面的代码中,我最初省略了调用的括号
为了避免这种情况,您可以
对于编译时优化和警告,我们还可以添加
|
|
|
2
3
与Perl 5不同,在Perl 6中
不确定这是否构成对您问题的回答。 |
|
|
3
3
首先,重新表述您的问题:
后声明例程
当P6编译器解析 identifier 那已经 不 sigil ,它检查是否已经看到该标识符的声明。如果没有,则假定标识符对应于一个例程,该例程稍后将被声明为“listop”例程(它接受零个或多个参数),然后继续。(如果其假设被证明是错误的,则编译失败。) 因此,您可以将例程当作变量来使用,如中所述 Christopher Bottom's answer 。 首次使用时自动声明变量strict 是一个 "pragma" 它控制P6编译器在解析以 西格尔 。 P6在严格模式打开时启动程序。这意味着编译器将坚持预先声明任何sigil'd变量/常量。(我所说的预折旧是指 明确的 出现的声明 文字上 使用变量/常量之前。)
但你可以写
警告
拥有
在第一次使用时在同一语句中显式声明变量您不必将声明作为单独的语句编写。您可以声明 和 在同一语句或表达式中使用变量:
警告
如果你重复
在运行时初始化
这个
如果要在运行时初始化变量/常量,请使用
使用正电子(
|
|
|
jjmerelo · 使用Proc::Async从绑定管道读取 8 年前 |
|
|
Eugene Barsky · Perl 6中多针的索引 8 年前 |
|
|
Håkon Hægland · 如何通过扩展模块所使用的类来扩展模块? 8 年前 |
|
|
chenyf · Perl 6中后缀或后循环前的点是什么意思? 8 年前 |
|
|
jjmerelo · m和rx之间有什么区别吗? 8 年前 |