首先,这是在 Scala 2.8 中,所以它应该在那里!=)
我正在研究 Lift 的 Javascript 对象,我想要以下内容:
case class JsVar(varName: String, andThen: String*) extends JsExp {
// ...
def -&(right: String) = copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
}
不幸的是,我收到以下编译器错误:
[error] Lift/framework/web/webkit/src/main/scala/net/liftweb/http/js/JsCommands.scala:452: not found: value copy
[error] def -&(right: String) = copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
[error]
案例类有属性,所以应该有copy
方法吧?
如果我尝试this.copy
,我会得到几乎相同的错误:
[error] Lift/framework/web/webkit/src/main/scala/net/liftweb/http/js/JsCommands.scala:452: value copy is not a member of net.liftweb.http.js.JE.JsVar
[error] def -&(right: String) = this.copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
[error]
为什么会这样以及如何copy
在我的案例类方法中使用?copy
还是编译器在声明我的方法后添加的想法?
我应该这样做吗?
case class JsVar(varName: String, andThen: String*) extends JsExp {
// ...
def -&(right: String) = JsVar(varName, (right :: andThen.toList.reverse).reverse :_*)
}