Perl6 文档声明“默认情况下,参数绑定到它们的参数并标记为只读。” 但运行以下代码:
# Example 1
sub f1 ( $x ) { say $x.VAR.WHAT; say $x.WHAT; say $x }
f1(1);
产量:
(Scalar)
(Int)
1
而这段代码:
# Example 2
my $y := 1;
say $y.VAR.WHAT; say $y.WHAT; say $y;
产量:
(Int)
(Int)
1
(Scalar)
我不明白的是 Example1 的输出:当我应该将 Int 1 - 参数绑定到标识符时,为什么会有一个标量$x
?似乎该值1
被“分配”给$x
,而不是“绑定”。