Perl6标准语法相对较大。虽然一旦掌握这一点有助于表达,但它也为掌握创造了障碍。例如,核心构造通常具有支持不同编程范例的多种形式。一个基本的例子是用于创建Pairs的各种语法
Pair.new('key', 'value'); # The canonical way
'key' => 'value'; # this...
:key<value>; # ...means the same as this
:key<value1 value2>; # But this is key => <value1 value2>
:foo(127); # short for foo => 127
:127foo; # the same foo => 127特别要注意第一种形式的注释:“规范的方式”。
另一个例子是the documentation for method make
This is just a little sugar for $/.made = $ast which is a very common operation in actions.是否有一种可以为Perl6程序输出的规范形式,以便在掌握了规范子语法之后,可以检查该形式的任何Perl6程序以理解它?
发布于 2017-05-28 01:46:37
我要说的是,Perl6语法(特别是roast) 是规范,所以所有这些形式都是某种“规范”。该注释指的是编译/执行任何其他形式时实际发生的情况。将调用Pair类的.new()方法来创建新的Pair对象。可以说,无论您使用哪种选项,这种情况都会在幕后发生。其他语法只是表达相同内容的更简单的方式。
您可能会发现.perl()方法很有帮助。它将描述任何变量在Perl中的表达方式:
> Pair.new('key', 'value').perl
:key("value")
> ('key' => 'value').perl
:key("value")
> (:key<value>).perl
:key("value")https://stackoverflow.com/questions/44219209
复制相似问题