我正在尝试使用Scallop(https://github.com/scallop/scallop/)来解析Scala中的命令行参数。
但是,我无法编译将参数转换为案例类的示例,如https://github.com/scallop/scallop/wiki/Custom-converters所示。
我在编译时遇到两个错误:
[error] found : org.rogach.scallop.ValueConverter[center.scala.sbk.Commands.Person]{val nameRgx: scala.util.matching.Regex; val phoneRgx: scala.util.matching.Regex}
[error] required: String
[error] Error occurred in an application involving default arguments.
[error] val person = opt[Person](personConverter)
[error] ^
和
[error] ...: could not find implicit value for parameter conv: org.rogach.scallop.ValueConverter[center.scala.sbk.Commands.Person]
[error] Error occurred in an application involving default arguments.
[error] val person = opt[Person](personConverter)
[error] ^
感谢您的帮助!
答案 0 :(得分:2)
文档有拼写错误。 使用
@foreach
而不是
val person = opt[Person]()(personConverter) // note the parentheses
因为val person = opt[Person](personConverter)
是在隐式参数中传递的。