2017-05-27 54 views
4

Perl6标准语法比较大。尽管一旦掌握了这种表达方式,它就会形成一个掌握障碍。例如,核心构造通常具有支持不同编程范例的多种形式。一个基本的例子是创建Pairs各种语法:是否有Perl6规范形式?

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程序理解它?

+0

'make'不是真的糖,它只是一个正常的方法和子程序。 –

回答

7

我想说的是,Perl6语法(特别是roast佳能,所以所有这些形式都有点“规范”。该评论涉及编译/执行任何其他形式时实际发生的情况。调用Pair类的.new()方法创建新的Pair对象。无论您使用哪种选项,都可以在幕后发生。其他语法只是表达同一事物的更简单的方法。

您可能会发现.perl()方法有帮助。它将描述任何变量可以用Perl表示的方式:

> Pair.new('key', 'value').perl 
:key("value") 
> ('key' => 'value').perl 
:key("value") 
> (:key<value>).perl 
:key("value") 
相关问题