无痕类属性

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

XUQIAN28 回答:无痕类属性

当前无法拥有无印记属性。据我所知,目前还没有积极考虑将其包含在将来的Raku版本中。要提出的最明显的设计考虑因素是:

  1. my \foo = ...的语义是单个静态分配。很明显,这在词汇范围内的符号上意味着什么。还不清楚在类声明中这意味着什么,以及它如何与实例化工作流交互。例如,在:$!foo / BUILD中将没有等效的TWEAK签名语法。
  2. 使用twigil暗示着它跟随着印记。取决于上下文,没有它们的分支可能是歧义的。此外,仅出于声明我们希望无符号属性获取访问器的目的而允许.情况是很奇怪的。
  3. 这将打破规则,即您总是可以通过查找! twigil来找到对实例状态的访问权限,这很可惜。
本文链接:https://www.f2er.com/3165217.html

大家都在问