/ Клас на вътрешния случай в скала - скала, класа на случая

Клас на вътрешния случай в скала - скала, казус

Имам следния клас на случая

case class MyClass (LeftHandSide: (Set[String], String), RightHandSide: Double)

така че мога да направя следното

MyClass((Set("yu", "ye"), "bee"), 0.03).filter( x=> x.RightHandSide>4)

и бих искал да се обадя и на части от LeftHandSide, например:

case class MyClass (LeftHandSide: (Part1: Set[String], Part2: String), RightHandSide: Double)

И тогава:

MyClass((Set("yu", "ye"), "bee"), 0.03).filter(x => x.LeftHandSide.Part2 != "bee")

Отговори:

2 за отговор № 1

Създайте допълнителен клас на случая, наречен LeftHandSide:

case class LeftHandSide(partOne: Set[String], partTwo: String)

И използвай това в MyClass:

case class MyClass(leftHandSide: LeftHandSide, rightHandSide: Double)

И тогава:

val myClass = MyClass(LeftHandSide(Set("yu", "ye"), "bee"), 0.03)
myClass.leftHandSide.partTwo != "bee"