Group constants and helpers under an object name.

object-namespace An `object` acts as a namespace for related constants and methods. Calling `Config.scale` reaches the grouped helper through its qualified name.

Object Namespaces

n
ObjectNamespace.scala
Replay: real traced execution (multi-file project)
object Config {
  val limit = 10

  def scale(n: Int): Int = {
    n * limit
  }
}

object Main {
  def main(args: Array[String]): Unit = {
    val n = 3
    val scaled = Config.scale(n)

    println("limit=" + Config.limit)
    println("scaled=" + scaled)
  }
}
object Config {
  val limit = 10

  def scale(n: Int): Int = {
    n * limit
  }
}

object Main {
  def main(args: Array[String]): Unit = {
    val n = 1
    val scaled = Config.scale(n)

    println("limit=" + Config.limit)
    println("scaled=" + scaled)
  }
}
object Config {
  val limit = 10

  def scale(n: Int): Int = {
    n * limit
  }
}

object Main {
  def main(args: Array[String]): Unit = {
    val n = 5
    val scaled = Config.scale(n)

    println("limit=" + Config.limit)
    println("scaled=" + scaled)
  }
}
  1. n ← 3

    9object Main {10  def main(args: Array[String]): Unit = {11    val n→ 3 = 3 //@n=1, 512    val scaled = Config.scale(n3)1314    println("limit=" + Config.limit)
  2. def scale(n: Int): Int =

    4  def scale(n3: Int): Int = {5    n3 * limit106  }7}
  3. scaled ← 30

    11    val n = 3 //@n=1, 512    val scaled→ 30 = Config.scale(n3)1314    println("limit=" + Config.limit)15    println("scaled=" + scaled30)16  }17}
    outputlimit=10
    scaled=30
  1. n ← 1

    9object Main {10  def main(args: Array[String]): Unit = {11    val n→ 1 = 112    val scaled = Config.scale(n1)1314    println("limit=" + Config.limit)
  2. def scale(n: Int): Int =

    4  def scale(n1: Int): Int = {5    n1 * limit106  }7}
  3. scaled ← 10

    11    val n = 112    val scaled→ 10 = Config.scale(n1)1314    println("limit=" + Config.limit)15    println("scaled=" + scaled10)16  }17}
    outputlimit=10
    scaled=10
  1. n ← 5

    9object Main {10  def main(args: Array[String]): Unit = {11    val n→ 5 = 512    val scaled = Config.scale(n5)1314    println("limit=" + Config.limit)
  2. def scale(n: Int): Int =

    4  def scale(n5: Int): Int = {5    n5 * limit106  }7}
  3. scaled ← 50

    11    val n = 512    val scaled→ 50 = Config.scale(n5)1314    println("limit=" + Config.limit)15    println("scaled=" + scaled50)16  }17}
    outputlimit=10
    scaled=50