这有效:
$_ =
say "hi";
也就是说,您可以在赋值和后面的内容之间放置任意数量的空格,它会简单地忽略它。您也可以使用任何变量(使用
my
)。实际上,$_ 将分配给 say
的结果。 , 即 True
.这是令人惊讶的,但符合规范,还是仅仅令人惊讶?
最佳答案
运算符的两侧可能有任意数量的空格。因此:
say 1
+ 2
+ 3;
就编译器而言,与以下内容完全相同:
say 1 + 2 + 3;
赋值 (
=
) 只是另一个运算符,因此也遵循这些规则。此外,
say
只是一个普通的内置子程序,所以它就像:my $answer = flip '24';
say $answer; # 42
除了更多的空格:
my $answer =
flip '24';
say $answer; # 42
Perl 6 中有一些地方空格很重要,但中缀运算符之间的空格不是其中之一。
关于syntax - 悬空主题(或任何其他)变量不会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56816181/