【问题标题】:Why is the perl6 repl not distinguishing between two different classes?为什么 perl6 repl 不区分两个不同的类?
【发布时间】:2018-12-23 14:51:24
【问题描述】:

我正在尝试在 repl 中创建一些类,当我创建与第一个类具有相同属性的第二个类时,我被告知它已经定义了。

这仅仅是 repl 没有正确处理命名空间的问题吗?它在文件中按预期工作。

Perl6 版本:这是基于 MoarVM 版本 2018.10 构建的 Rakudo 版本 2018.10 实现 Perl 6.c.

> class Thing {
*   has $.stuff;
* }      
(Thing)
> class OtherThing {
*   has $.stuff;
* }
Package 'OtherThing' already has an attribute named '$!stuff'
  in any scope_declarator at /home/path/.rakudobrew/moar-2018.10    /install/share/nqp/lib/Perl6/Grammar.moarvm line 1
  in any term:sym<scope_declarator> at /home/path/.rakudobrew/moar-2018.10/install/share/nqp/lib/Perl6/Grammar.moarvm line 1
  in any term at /home/path/.rakudobrew/moar-2018.10/install/share/nqp/lib/Perl6/Grammar.moarvm line 1

【问题讨论】:

    标签: raku


    【解决方案1】:

    我只是尝试在我的 REPL 上稍微复制一下,我没有收到任何错误...

    > class Thing { has $.stuff }
    (Thing)
    > class OtherThing { has $.stuff }
    (OtherThing)
    >
    

    PS。将块分散到多行时,我确实遇到了与您相同的错误。

    这是基于 MoarVM 版本 2018.10 实现 Perl 6.c 的 Rakudo Star 版本 2018.10。

    看起来您的错误是由 REPL 中的 * 多行块逻辑引入的 - 我认为这是一个错误。请问可以举报吗?

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多