Ich habe ein Objektscala Umbenennungsfall-Klasse Eigenschaft dynamisch
object Helper{
val fieldName = "fooBar
}
, die für ein Feld der Namen zur Verfügung stellt. Und ein Fall Klasse
case class BarBaz(fieldOne:Int, fieldTwo:String)
Aber statt fieldTwo
, würde Ich mag zu Helper.fieldname
für den Parameter Namen der Fallklasse verweisen.
Wie kann dies in Scala erreicht werden? Vielleicht über ein Makro? Oder gibt es eine einfachere Möglichkeit? I.e.
case class BarBaz(fieldOne:Int, Helper.fieldName:String)
würde die gewünschte Ausgabe, aber das wird nicht kompilieren.
Aufruf als BarBaz.fieldTwo oder Helper.fieldName, sind sie nicht die gleichen? Sie müssen eine Instanz von beiden erstellen. Können Sie den Feldnamen der Fallklasse nicht ändern? –
Ich möchte in der Lage sein, den Feldnamen der Fallklasse zu ändern, indem ich den Wert 'fieldName' ändere. Bitte beachten Sie die Änderung. –
Nicht sicher, was Sie hier erreichen wollen, aber "Map [String,?]" Ist möglicherweise eine einfachere Methode, um mit einem "dynamischen Bezeichner" auf Objekte zuzugreifen. – rethab