Hier ist, was ich habe:erweitern Liste von Werten in Fällen
sealed abstract class Codes(list: List[String])
object UVWCodes extends Codes(List("U", "V", "W"))
object XYZCodes extends Codes(List("X", "Y", "Z"))
Ich mag würde Makros verwenden, um die angegebenen Werte in erweitern:
parse(str: String): Codes = str match {
case "U" | "V" | "W" => UVWCodes
case "X" | "Y" | "Z" => XYZCodes
}
Da Codes ist eine versiegelte Klasse, es ist möglich, die Liste seiner Unterklassen zu erhalten. Wie kann man jedoch die Liste der Code-Literale ("U", "V" usw.) extrahieren?