/ / Wewnętrzna klasa przypadków w scala - scala, case-class

Wewnętrzna klasa przypadków w scala - scala, case-class

Mam następującą klasę przypadków

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

więc mogę zrobić co następuje

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

i chciałbym móc wywoływać części LeftHandSide również według nazwy, np .:

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

I wtedy:

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

Odpowiedzi:

2 dla odpowiedzi № 1

Utwórz dodatkową klasę case o nazwie LeftHandSide:

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

I użyj tego w MyClass:

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

I wtedy:

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