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.