我可以更改Scala中类型的线性化吗?

时间:2015-01-29 07:43:03

标签: scala traits

是否有可能在Scala中更改types特别traits的线性化顺序?我猜它可能不是一个安全的选择但是"它是否可能"?

1 个答案:

答案 0 :(得分:1)

您可以编写宏注释(使用宏天堂插件)来执行此操作,这样您就可以编写如下内容:

@mangleInitializationOrder class Foo extends Bar with Baz with ...

当然,这个宏“真的”只是重新排列extends / with以确保正确的顺序。正如你所说,在可读性/可维护性方面,这不是一个好主意。