gpt4 book ai didi

scala - 如何将Scala对象的主要方法分解为共享位置?

转载 作者:行者123 更新时间:2023-12-01 09:34:50 24 4
gpt4 key购买 nike

在几个 Scala 对象中,我定义了一个调用 runTests 的 main 方法,它是 Test 中的一个抽象方法。有没有办法将主要方法分解到一个公共(public)位置(特征或其他解决方案),以便我仍然可以通过键入 ctrl-F11?

这是我目前拥有的,

https://github.com/janekdb/stair-chess/blob/master/src/chess/model/BoardModelTest.scala

object BoardModelTest extends Test with TestUtils {

def main(args: Array[String]) {
runTests
}

def runTests {
...

https://github.com/janekdb/stair-chess/blob/master/src/test/Test.scala

trait Test {

def runTests: Unit
...

最佳答案

我在这台电脑上没有 Eclipse,所以我无法测试它是否可以与 Ctrl+F11 一起使用,但我认为你想要一个 self-type:

trait Main {
self: Test =>
def main(args: Array[String]) {
runTests
}
}

然后,您只需在 Test 特征之后将其混合:

object BoardModelTest extends Test with TestUtils with Main {
def runTests {}
}

关于scala - 如何将Scala对象的主要方法分解为共享位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com