Мне, должно быть, здесь не хватает чего-то глупого. У меня есть это:scala case class equals (==) не работает должным образом
case class Color(val rgb:Int) {
private val c = rgb - 0xff000000
val r = (c & 0xff0000) >> 16
val g = (c & 0x00ff00) >> 8
val b = (c & 0x0000ff)
}
case object Red extends Color(0xffff0000)
case object Green extends Color(0xff00ff00)
case object Blue extends Color(0xff0000ff)
Тогда я ожидаю, что это напечатать истинную:
val c = Color(0xff00ff00)
println(c == Green)
Почему не так ли ??
Другой совет: 'val' в аргумент' Color' является излишним, так как 'Color' случай класса. Достаточно сказать: 'case class Color (rgb: Int)' –
Да, это было последнее дополнение, поскольку я пытался заставить его работать так, как я ожидал; теперь, когда вы упомянули об этом, я помню, что это не нужно. –