Split one record into named fields.

split-fields Delimited text stores several fields in one line.

Split Fields

row
SplitFields.kt
Replay: real traced execution (multi-file project)
fun main() {
    val row = "Ada,42,active"
    val fields = row.split(",")
    val name = fields[0]
    val score = fields[1].toInt()
    val state = fields[2]

    println("name=$name")
    println("score=$score")
    println("state=$state")
}
fun main() {
    val row = "Bo,7,paused"
    val fields = row.split(",")
    val name = fields[0]
    val score = fields[1].toInt()
    val state = fields[2]

    println("name=$name")
    println("score=$score")
    println("state=$state")
}
fun main() {
    val row = "Cy,12,active"
    val fields = row.split(",")
    val name = fields[0]
    val score = fields[1].toInt()
    val state = fields[2]

    println("name=$name")
    println("score=$score")
    println("state=$state")
}
  1. row ← Ada,42,active, fields ← [Ada, 42, active], name ← Ada, score ← 42

    1fun main() {2    val row→ Ada,42,active = "Ada,42,active" //@row="Bo,7,paused", "Cy,12,active"3    val fields→ [Ada, 42, active] = rowAda,42,active.split(",")4    val name→ Ada = fields[0]Ada5    val score→ 42 = fields[1]42.toInt()6    val state→ active = fields[2]active78    println("name=$nameAda")9    println("score=$score42")10    println("state=$stateactive")11}
    outputname=Ada
    score=42
    state=active
  1. row ← Bo,7,paused, fields ← [Bo, 7, paused], name ← Bo, score ← 7

    1fun main() {2    val row→ Bo,7,paused = "Bo,7,paused"3    val fields→ [Bo, 7, paused] = rowBo,7,paused.split(",")4    val name→ Bo = fields[0]Bo5    val score→ 7 = fields[1]7.toInt()6    val state→ paused = fields[2]paused78    println("name=$nameBo")9    println("score=$score7")10    println("state=$statepaused")11}
    outputname=Bo
    score=7
    state=paused
  1. row ← Cy,12,active, fields ← [Cy, 12, active], name ← Cy, score ← 12

    1fun main() {2    val row→ Cy,12,active = "Cy,12,active"3    val fields→ [Cy, 12, active] = rowCy,12,active.split(",")4    val name→ Cy = fields[0]Cy5    val score→ 12 = fields[1]12.toInt()6    val state→ active = fields[2]active78    println("name=$nameCy")9    println("score=$score12")10    println("state=$stateactive")11}
    outputname=Cy
    score=12
    state=active