【发布时间】:2020-04-06 16:24:50
【问题描述】:
假设我经常使用某组样板:
class Foo {
method abc($a: $b, $c, +@d) is pure {
use Slang::Bar;
…
}
method xyz($a: $b, $c, +@d) is pure {
use Slang::Bar;
…
}
method blarg($a: $b, $c, +@d) is pure {
use Slang::Bar;
…
}
}
我宁愿说:
class Foo is/does Bar {
bar abc { … }
bar xyz { … }
bar blarg { … }
}
在 Bar 中的某个地方,为 bar 设置声明(或者,由于类 Foo 最终将使用它自己的声明符,它可以到其他地方并且不必在单独的 Type 中被拉出)。我该怎么做呢?
【问题讨论】:
-
我知道这基本上是在问“我该怎么做?”但我还没有看到任何真正的文章,使用它的现存模块(Red / Cro)是相当复杂(如果漂亮)的野兽,一目了然。
-
看来你想重用签名,对吧?
-
jjmerelo:不,实际上最终目标是创建一个方法子类(如果在其中使用,则将其注册到类中)并在代码块中使用完全不同的语言(类似于正则表达式的语言,在本例)
-
jjmerelo:请参阅gist.github.com/alabamenhu/2fec7a8f51a24091dc1b104a2ae2f04d 以获取提案。我还有几天要展示一个测试模块,但我已经完成了 Binex 的大部分后勤工作,但对于类似于 Raku 的语法
标签: raku