syntax - 悬空主题(或任何其他)变量不会失败

标签 syntax raku

这有效:

$_ =

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/

相关文章:

raku - 如何在 Perl 6 中找到列表的正确最小值/最大值

raku - 在 'raw' Positional 的类中从 AT-POS 方法(而不是代理实例)返回 'does' 标量容器?

django - 为什么使用 django TemplateTag 标签?

oracle - PostgreSQL - 不带引号的查询语法

Flutter Android Studio 使大括号换行

raku - Perl 6 的 eof 是否放弃得太快了?

rust - Rust 的一元 || 是什么意思(平行管)是什么意思?

javascript - JavaScript 中的 "?:"表示法是什么?

read-eval-print-loop - 如何创建 Perl 6 REPL 插件?

raku - Perl 6 : writable multidimensional subscript access with AT-POS