在接收器上下文中无用地使用 LOOP_BLOCK_1 符号
Useless use of LOOP_BLOCK_1 symbol in sink context
像
这样的片段
perl6 -e 'loop { FIRST say "foo"; last }'
我明白了
WARNINGS for -e:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
foo
我知道如何解决警告。我想知道警告的来源是什么。我找到了this open ticket,但是好像没有人关注
这个警告是关于什么的?
那这个没用呢?
版本
$ perl6 --version
This is Rakudo version 2018.06 built on MoarVM version 2018.06
implementing Perl 6.c.
这是一个错误,一个虚假的警告。
I know how to work around the warning.
这是主要的。
I'm wondering about what the source of the warning is.
这是编译器发出的虚假警告。
I found this open ticket, but it doesn't seem to have received any attention.
我认为它引起了一些关注。
bbkr,提交了这个错误,链接到另一个错误,他们在其中展示了他们的解决方法。 (它不是添加 do
而是删除 FIRST
移相器并将相关语句放在它之前的循环之外。)
如果您点击 bbkr 原始错误中的其他链接,您将找到另一个错误,解释一般 "unwanted" 机制需要清理。我想可用 round tuits 专注于更大的鱼,例如这种整体机制。
希望您能看到这只是一条奇怪的警告消息,并且是大局中的一个小麻烦。如果您在循环构造中使用 FIRST 移相器,它似乎会出现。它有非常明显的工作,您可能知道并且 bbkr 展示了它。
What is this warning about?
许多语言允许您混合过程和函数范式。程序代码的副作用是 运行。其结果的功能代码。一些结构可以同时做到这两点。
但是,如果您使用的构造通常是为了使用其结果而使用的,并且编译器知道这一点,但它也知道它是在其值将被忽略的上下文中使用的?
Perls 调用此 "useless use of ... in sink context" 并通常警告编码人员。 ("sink" 是一个 alternative/traditional 术语,表示在其他语言文化中通常称为 "void" 上下文。)
此错误消息是这些警告之一,虽然是伪造的。
And what about this is useless?
没有。
相关的编译器警告机制变得混乱。
消息的 "Useless use of ... in sink context" 部分是通用的,希望不言自明。
但是它不应该说 "LOOP_BLOCK_1 symbol" 这样的话。那是内部的胡言乱语。
这是一个警告消息错误。
像
这样的片段perl6 -e 'loop { FIRST say "foo"; last }'
我明白了
WARNINGS for -e:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
foo
我知道如何解决警告。我想知道警告的来源是什么。我找到了this open ticket,但是好像没有人关注
这个警告是关于什么的?
那这个没用呢?
版本
$ perl6 --version
This is Rakudo version 2018.06 built on MoarVM version 2018.06
implementing Perl 6.c.
这是一个错误,一个虚假的警告。
I know how to work around the warning.
这是主要的。
I'm wondering about what the source of the warning is.
这是编译器发出的虚假警告。
I found this open ticket, but it doesn't seem to have received any attention.
我认为它引起了一些关注。
bbkr,提交了这个错误,链接到另一个错误,他们在其中展示了他们的解决方法。 (它不是添加 do
而是删除 FIRST
移相器并将相关语句放在它之前的循环之外。)
如果您点击 bbkr 原始错误中的其他链接,您将找到另一个错误,解释一般 "unwanted" 机制需要清理。我想可用 round tuits 专注于更大的鱼,例如这种整体机制。
希望您能看到这只是一条奇怪的警告消息,并且是大局中的一个小麻烦。如果您在循环构造中使用 FIRST 移相器,它似乎会出现。它有非常明显的工作,您可能知道并且 bbkr 展示了它。
What is this warning about?
许多语言允许您混合过程和函数范式。程序代码的副作用是 运行。其结果的功能代码。一些结构可以同时做到这两点。
但是,如果您使用的构造通常是为了使用其结果而使用的,并且编译器知道这一点,但它也知道它是在其值将被忽略的上下文中使用的?
Perls 调用此 "useless use of ... in sink context" 并通常警告编码人员。 ("sink" 是一个 alternative/traditional 术语,表示在其他语言文化中通常称为 "void" 上下文。)
此错误消息是这些警告之一,虽然是伪造的。
And what about this is useless?
没有。
相关的编译器警告机制变得混乱。
消息的 "Useless use of ... in sink context" 部分是通用的,希望不言自明。
但是它不应该说 "LOOP_BLOCK_1 symbol" 这样的话。那是内部的胡言乱语。
这是一个警告消息错误。