【问题标题】:How can I make Perl6 (MoarVM / Rakudo) warn about all missing semicolons?如何让 Perl6 (MoarVM / Rakudo) 警告所有丢失的分号?
【发布时间】:2016-05-03 15:55:18
【问题描述】:

在 Perl 5 中,最好使用

use strict;
use warnings;

要求编译器抱怨缺少分号、未声明的变量等。

Perl 社区的公民在 SO 上告诉我 Perl 6 uses strict 默认情况下,经过测试后似乎是这样。

Semicolons aren't required for the last statement in a block,但是如果我稍后扩展该块,当我的代码不起作用时我会很懊恼,因为它是同一个块(而且我希望到处都有分号,因为它是一致的)。

我的假设是 Perl 6 甚至查看块中最后一条语句的分号,但我仍然很好奇:有没有办法让它更严格? p>

【问题讨论】:

  • 我认为 Perl 5 也不会警告在块末尾缺少分号,至少不会仅使用 use strictuse warnings
  • 你可以创建一个需要它的俚语。
  • "如果我以后扩展块,当我的代码不起作用时我会很懊恼......"。如果省略分号,它几乎肯定不会编译。 Perls 在其语法中嵌入了self-clocking 的句法模拟。在几乎所有情况下,如果您不小心遗漏了分号,您会得到一个编译时错误(“跨行连续两个术语(缺少分号或逗号?)”),准确定位问题的确切位置。这就是为什么用分号分隔语句比没有它们更好的主要原因。

标签: raku


【解决方案1】:

Rakudo 不会强制使用额外的分号,而是会尝试在您添加到块中并忘记分隔语句时给您一个很好的错误/提示。

发生这种情况时,通常我会收到“跨行连续两个术语(缺少分号或逗号?)”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多