scopt3示例脚本无法编译

时间:2015-05-17 08:36:24

标签: scala scopt

我正在尝试在我的项目中使用scopt3,但即使对于scopt3 Github页面上的示例代码,我也会遇到编译错误:

.csproj

错误是:

1)未找到类型配置
我认为它是com.typesafe.config.Config,但是当我导入时,我得到“velue copy不是com.typesafe.config.Config的成员”。 Config来自哪里?

2)没有找到值foo
.copy()方法的所有参数都标记为“未找到值”(我想这是由于Config上的先前错误)

我在scala 2.11.6 / SBT 0.13.8

任何帮助?

1 个答案:

答案 0 :(得分:0)

scopt与typesafe-config完全无关。

如果您仔细阅读README,您会发现在您粘贴的代码之前定义了Config

case class Config(foo: Int = -1, out: File = new File("."), xyz: Boolean = false,
  libName: String = "", maxCount: Int = -1, verbose: Boolean = false, debug: Boolean = false,
  mode: String = "", files: Seq[File] = Seq(), keepalive: Boolean = false,
  jars: Seq[File] = Seq(), kwargs: Map[String,String] = Map())

它只是一个对象的示例,它包含程序的所有参数。

您的想法是使用您希望的任何配置对象对OptionParser进行参数化。 E.g。

case class Foo(name: String)

val parser = new scopt.OptionParser[Foo]("foo") {
  opt[String]('n', "name") action { (n, foo) => foo.copy(name = n) }
}
val res = parser.parse(args, Foo("default"))