Files and Text Streams
Text Lines
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
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")
}
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
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
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