-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我有用一些解释更新了新的代码。 (说实话,我也不明白你的第一段。) –