2
當我在斯卡拉運行playframework時,我有非常奇怪的行爲。我使用了anorm作爲數據庫訪問層,因此我開始做一些代碼,並且看到了非常奇怪的scala編譯器行爲。Playframework,斯卡拉案例類和財產沒有找到
這是工作代碼:
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)
}}}
由於我是一個完全陌生的斯卡拉我以爲_
是一些神奇的關鍵字或其他魔法的東西。
因此我將屬性名稱更改爲aBB_AccAd
,但沒有編譯錯誤。
哎呀 ...
下一個有趣的事:我改名這AAbbdddsadasdasAAFFFFeeee
,我看到再次編譯錯誤。 那麼是什麼促使Scala爲某些文字集合拋出編譯錯誤?
這是一個錯誤? :-)在模式,這與以大寫字母開頭
感謝您的快速和良好的答案。所以我發現了Scala的一個新功能:-) –