【问题标题】:Sigilless class attribute无符号类属性
【发布时间】:2019-11-04 16:30:14
【问题描述】:

虽然您实际上可以itemize 任何类型的数据结构将其放入标量变量中,但无符号变量可能具有一些内在价值,因为它们实际上是无形,可用作类属性.但是,似乎没有办法这样做,has \.a 不起作用,has .\a 也一样。 has $!a 可能涵盖了我们可以使用无符号变量实现的大部分功能,但是是否有一种实际的方法可以将它们用作属性?

【问题讨论】:

    标签: object syntax raku


    【解决方案1】:

    目前没有办法拥有无符号属性。据我所知,目前还没有积极考虑将其包含在未来的 Raku 版本中。如果提出,最明显的设计考虑将是:

    1. my \foo = ... 的语义是单个静态赋值。很清楚这在词法范围符号上意味着什么。它在类声明中的含义以及它如何与实例化工作流交互还不太清楚。例如,在BUILD/TWEAK 中不存在与:$!foo 签名语法相当方便的等效语法。
    2. twigil 的使用意味着它遵循一个印记。没有它的树枝可能会模棱两可,具体取决于上下文。此外,仅出于声明我们希望无符号属性获取访问器的目的而允许 . 案例是很奇怪的。
    3. 这将打破您始终可以通过查找! twigil 来找到对实例状态的访问权限的规则,这将是一个遗憾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-12
      • 2021-01-06
      • 1970-01-01
      • 2017-09-15
      • 2018-11-10
      • 2016-12-11
      • 2013-07-10
      • 1970-01-01
      相关资源
      最近更新 更多