-1
我是scala的新手,想要爲消息創建模型類.Message由標籤組成,並且值和值可以是具有指定長度的字符串,int或一個枚舉在traits中定義數據類型的參數以在scala中定義數據類型
tag value
100 a
200 b constraint of length =45
300 0,1,2
其中0-新 1 - 修改 2-取消
trait ElementType {
type A
type length
}
case class Tag() extends ElementType {
override type A = this.type
}
case class Value() extends ElementType{
override type A = this.type
override type length = this.type
}
case class Message(
messageId:MessageId
)
case class MessageId(tag: Tag[Int], value: Value[String]){
override def toString = tag + "=" + value + 1.toChar
}
我得到在編譯的MessageId錯誤,有沒有更好的方式來寫代碼
你可以解釋一下我對scala有新意的代碼嗎+ A表示here.The元素也可以是一個枚舉。我將如何設置元素的長度 – coder25
長度基本上是約束 – coder25
@ coder25我有用一些解釋更新了新的代碼。 (說實話,我也不明白你的第一段。) –