Treat a text block as lines and inspect a small summary.

text-lines File readers often hand you text that must be split into separate lines.

Text Lines

text
TextLines.kt
Replay: real traced execution (multi-file project)
fun main() {
    val text = "red|blue|green"
    val lines = text.split("|")
    val count = lines.size
    val first = lines[0]
    val last = lines[count - 1]

    println("count=$count")
    println("first=$first")
    println("last=$last")
}
fun main() {
    val text = "one|two"
    val lines = text.split("|")
    val count = lines.size
    val first = lines[0]
    val last = lines[count - 1]

    println("count=$count")
    println("first=$first")
    println("last=$last")
}
fun main() {
    val text = "north|south|east"
    val lines = text.split("|")
    val count = lines.size
    val first = lines[0]
    val last = lines[count - 1]

    println("count=$count")
    println("first=$first")
    println("last=$last")
}
  1. text ← red|blue|green, lines ← [red, blue, green], count ← 3, first ← red

    1fun main() {2    val text→ red|blue|green = "red|blue|green" //@text="one|two", "north|south|east"3    val lines→ [red, blue, green] = textred|blue|green.split("|")4    val count→ 3 = lines.size35    val first→ red = lines[0]red6    val last→ green = lines[count - 1]green78    println("count=$count3")9    println("first=$firstred")10    println("last=$lastgreen")11}
    outputcount=3
    first=red
    last=green
  1. text ← one|two, lines ← [one, two], count ← 2, first ← one, last ← two

    1fun main() {2    val text→ one|two = "one|two"3    val lines→ [one, two] = textone|two.split("|")4    val count→ 2 = lines.size25    val first→ one = lines[0]one6    val last→ two = lines[count - 1]two78    println("count=$count2")9    println("first=$firstone")10    println("last=$lasttwo")11}
    outputcount=2
    first=one
    last=two
  1. text ← north|south|east, lines ← [north, south, east], count ← 3

    1fun main() {2    val text→ north|south|east = "north|south|east"3    val lines→ [north, south, east] = textnorth|south|east.split("|")4    val count→ 3 = lines.size35    val first→ north = lines[0]north6    val last→ east = lines[count - 1]east78    println("count=$count3")9    println("first=$firstnorth")10    println("last=$lasteast")11}
    outputcount=3
    first=north
    last=east