0
我是Scala的新手,想弄清楚如何重构下面的代码以避免重复的功能。正如你可以看到那些非常相似,只需要重构为通用代码。Scala重构重复代码
protected lazy val shardNamesSpec: Parser[Seq[String]] = {
(ident ^^ {case d => Seq(d)}) | ("(" ~> repsep(ident, ",") <~ ")") ^^ {
case i => i
}
}
protected lazy val shardTypesSpec: Parser[Seq[DataType]] = {
(dataType ^^ {case d => Seq(d)}) | ("(" ~> repsep(dataType, ",") <~ ")") ^^ {
case dt => dt
}
}
我只是想你的建议,但我得到的编译错误: “值^^ ......”无法解析符号^^ 无法解析符号| “repsep”无法用这样的签名来解析引用repsep – raf
@Raf Oid是你的代码中编译的那些函数吗? – Rumoku
nope,错误发布在我以前的评论 – raf