Immutable Data Patterns
Nested Immutable Data
Read fields from data nested inside data.
Nested Immutable Data
NestedImmutable.scala
case class Address(city: String, zip: Int)
case class User(name: String, address: Address)
object Main {
def main(args: Array[String]): Unit = {
val zip =
val addr = Address("NYC", zip)
val user = User("Ann", addr)
val city = user.address.city
val code = user.address.zip
println("name=" + user.name)
println("city=" + city)
println("zip=" + code)
}
}
case class Address(city: String, zip: Int)
case class User(name: String, address: Address)
object Main {
def main(args: Array[String]): Unit = {
val zip =
val addr = Address("NYC", zip)
val user = User("Ann", addr)
val city = user.address.city
val code = user.address.zip
println("name=" + user.name)
println("city=" + city)
println("zip=" + code)
}
}
case class Address(city: String, zip: Int)
case class User(name: String, address: Address)
object Main {
def main(args: Array[String]): Unit = {
val zip =
val addr = Address("NYC", zip)
val user = User("Ann", addr)
val city = user.address.city
val code = user.address.zip
println("name=" + user.name)
println("city=" + city)
println("zip=" + code)
}
}
nested-immutable
Immutable values can hold other immutable values. Field access reads down through the nesting to a scalar without changing anything.