我目前正在使用scopt
命令行应用程序。然而,我scopt.OptionParser[Config]
的变得非常大。我在想把它分成更小的部分可能会很好,然后将它们组合起来。
阅读文档后,我看不到任何这样做的方法。
我错过了什么?还是不可能?
我目前正在使用scopt
命令行应用程序。然而,我scopt.OptionParser[Config]
的变得非常大。我在想把它分成更小的部分可能会很好,然后将它们组合起来。
阅读文档后,我看不到任何这样做的方法。
我错过了什么?还是不可能?
是的,它可以分成更小的块。您可以通过将功能移动到特征中来做到这一点,例如:
trait FooParser { self: OptionParser[MyArgs] =>
cmd("foo")
...
}
trait BarParser { self: OptionParser[MyArgs] =>
cmd("bar")
...
}
val fooBarParser = new OptionParser[MyArgs]("FooBar") with FooParser with BarParser {
head("FooBar")
...
}