当我在Perl6 REPL中执行以下语句:
my $var = 1, 2, 3;
它会打印出:
(1 2 3)
我觉得这很奇怪,因为$var
实际上被赋予了一个单整数值(即$var.WHAT
返回(Int)
),而不是一个包含整数的List
。
我想这是因为项目赋值运算符(=
)的优先级比逗号运算符(,
)高,所以,2,3
处于sink上下文。但是为什么REPL会显示一个List
of Int
?REPL通常在语句执行后显示什么?
perl6 -e
进行测试通常比 REPL 更好的原因。 - Scimon Proctor