gpt4 book ai didi

scala - 未找到 Playframework、scala 案例类和属性

转载 作者:行者123 更新时间:2023-12-04 05:16:23 25 4
gpt4 key购买 nike

当我在 Scala 中运行 playframework 时,我有非常奇怪的行为。我使用 anorm 作为数据库访问层,因此我开始做一些代码,我看到了非常奇怪的 scala 编译器行为。
这是正在运行的代码:

case class P_Page_Control(Control_ID:Int,
Client_ID:String,
cContent: String,
Page_ID: Int,
Language_ID: Int,
InsertTime: Date,
ChangeTime: Option[Date],
IsDeleted: Boolean)
和:
object P_Page_Control {  val parser = {
get[Int]("Control_ID") ~
get[String]("Client_ID") ~
get[String]("Content") ~
get[Int]("Page_ID") ~
get[Int]("Language_ID") ~
get[Date]("InsertTime") ~
get[Option[Date]]("ChangeTime") ~
get[Boolean]("IsDeleted") map {
case a ~ b ~ c ~ d ~ e ~ f ~ g ~ h =>
P_Page_Control(a, b, c, d, e, f, g, h)
}}}
目前没有编译错误。工作正常。
但是当我更改属性名称时,出现错误:
object P_Page_Control {  val parser = {
get[Int]("Control_ID") ~
get[String]("Client_ID") ~
get[String]("Content") ~
get[Int]("Page_ID") ~
get[Int]("Language_ID") ~
get[Date]("InsertTime") ~
get[Option[Date]]("ChangeTime") ~
get[Boolean]("IsDeleted") map {
case A_B ~ b ~ c ~ d ~ e ~ f ~ g ~ h =>
P_Page_Control(A_B, b, c, d, e, f, g, h)
}}}
因为我是 Scala 的新手,所以我想 _是一些神奇的关键字或其他神奇的东西。
所以我将属性名称更改为 aBB_AccAd但没有编译错误。
哎呀 ...
下一件有趣的事情:我将其重命名为 AAbbdddsadasdasAAFFFFeeee我再次看到编译错误。
那么是什么促使 Scala 为某些文字集抛出编译错误呢?
这是错误还是功能? :-)
Compilation error

最佳答案

模式中以大写字母开头的名称被解释为引用提取器(具有 unapplyunapplySeq 方法的对象)的变量或对象名称。由于您还没有声明这样的变量或对象,Scala 找不到它并抛出错误。

关于scala - 未找到 Playframework、scala 案例类和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14215434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com