Break a block of text into separate lines.

split-lines Splitting on the newline character turns one string into a list of lines. Each line can then be read by its position.

Splitting Lines

pick
SplitLines.scala
Replay: real traced execution (multi-file project)
object Main {
  def main(args: Array[String]): Unit = {
    val pick = 0
    val text = "alpha\nbeta\ngamma"
    val lines = text.split("\n").toList
    val chosen = lines(pick)

    println("lineCount=" + lines.length)
    println("chosen=" + chosen)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val pick = 1
    val text = "alpha\nbeta\ngamma"
    val lines = text.split("\n").toList
    val chosen = lines(pick)

    println("lineCount=" + lines.length)
    println("chosen=" + chosen)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val pick = 2
    val text = "alpha\nbeta\ngamma"
    val lines = text.split("\n").toList
    val chosen = lines(pick)

    println("lineCount=" + lines.length)
    println("chosen=" + chosen)
  }
}
  1. pick ← 0, text ← alpha beta gamma, lines ← List(alpha, beta, gamma)

    1object Main {2  def main(args: Array[String]): Unit = {3    val pick→ 0 = 0 //@pick=1, 24    val text→ alpha
    beta
    gamma = "alpha\nbeta\ngamma"5    val lines→ List(alpha, beta, gamma) = textalpha
    beta
    gamma.split("\n").toList6    val chosen→ alpha = lines(pick)alpha78    println("lineCount=" + lines.length3)9    println("chosen=" + chosenalpha)10  }11}
    outputlineCount=3
    chosen=alpha
  1. pick ← 1, text ← alpha beta gamma, lines ← List(alpha, beta, gamma)

    1object Main {2  def main(args: Array[String]): Unit = {3    val pick→ 1 = 14    val text→ alpha
    beta
    gamma = "alpha\nbeta\ngamma"5    val lines→ List(alpha, beta, gamma) = textalpha
    beta
    gamma.split("\n").toList6    val chosen→ beta = lines(pick)beta78    println("lineCount=" + lines.length3)9    println("chosen=" + chosenbeta)10  }11}
    outputlineCount=3
    chosen=beta
  1. pick ← 2, text ← alpha beta gamma, lines ← List(alpha, beta, gamma)

    1object Main {2  def main(args: Array[String]): Unit = {3    val pick→ 2 = 24    val text→ alpha
    beta
    gamma = "alpha\nbeta\ngamma"5    val lines→ List(alpha, beta, gamma) = textalpha
    beta
    gamma.split("\n").toList6    val chosen→ gamma = lines(pick)gamma78    println("lineCount=" + lines.length3)9    println("chosen=" + chosengamma)10  }11}
    outputlineCount=3
    chosen=gamma