假设我相当定期地使用一组特定的样板:
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中拉出)。我将如何去做?
我知道这基本上是在问“我怎么做?” 但是我还没有看到任何真正的内容,并且使用它的现存模块(红色/ Cro)是相当复杂(如果很漂亮)的野兽,很难一目了然。
—
user0721090601
看来您想重用签名,对吗?
—
jjmerelo
jjmerelo:不,实际上,最终目标是要做一个方法子类(如果在内部使用,请在类中注册),并在代码块内使用完全不同的语言(在这种情况下,类似于regex)
—
user0721090601
jjmerelo:请参阅gist.github.com/alabamenhu/2fec7a8f51a24091dc1b104a2ae2f04d。我距离要展示一个测试模块还有几天的路程,但是我已经完成了Binex的大部分工作,但是使用了类似Raku的语法
—
user0721090601