Perl 6 中的命名参数
Posted YoungForPerl6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl 6 中的命名参数相关的知识,希望对你有一定的参考价值。
Perl 6 中的函数(和类方法)能够接受命名参数。最简单的方法是用箭头分隔名称和值:
sub f(:$a, :$b) {
$a ** $b
}
say f(a => 2, b => 3); # 8
但另一种语法是可能的,在冒号的帮助下。有几个主要品种。
:key(value)
所有内容都以冒号开头,数值在括号内:
say f(:a(2), :b(3));
例如,不用圆括号,尖角括号也是允许的:
say f(:a<2>, :b<3>);
:Nkey
对于整数值,仍然有这样一个奇怪的语法:
say f(:2a, :3b);
:key 和 :!key
如果命名参数用作标记,则不需要指定值。在这种情况下,您可以传递 True 和 False,如下所示:
sub g(:$key) {
$key
}
say g(:key); # True
say g(:!key); # False
实际上,所有冒号对儿都会创建键值对,因此您可以在创建散列时执行相同的操作
my %data = :alpha(10), :beta(20), :gamma(30);
say %data<beta>; # 20
以上是关于Perl 6 中的命名参数的主要内容,如果未能解决你的问题,请参考以下文章