definire la classe caso in modo che il secondo elemento è un var
:
case class Stuff(name: String, var value: Option[String])
Ora è possibile creare un'istanza di Stuff
e modificare il secondo valore:
val s = Stuff("bashan", None)
s.value = Some("hello")
Tuttavia, rendendo classi case mutabile probabilmente non è una buona idea. Si dovrebbe preferire lavorare con strutture dati immutabili. Invece di creare una case case mutevole, renderla immutabile e utilizzare il metodo copy
per creare una nuova istanza con valori modificati. Ad esempio:
// Immutable Stuff
case class Stuff(name: String, value: Option[String])
val s1 = Stuff("bashan", None)
val s2 = s1.copy(value = Some("hello"))
// s2 is now: Stuff("bashan", Some("hello"))
Hai letto di case study? Hai provato a scrivere qualcosa? – vptheron
Principalmente duplicati di http://stackoverflow.com/q/7249396/298389 –