Parse short record text and total a numeric field.

Parse Records

ParseRecords.kt
fun main() {
    val records = "tea:2;rice:3"
    val bonus = 
    val rows = records.split(";")
    var total = bonus
    var names = ""

    for (row in rows) {
        val fields = row.split(":")
        val name = fields[0]
        val count = fields[1].toInt()
        total += count
        names += name
    }

    println("bonus=$bonus")
    println("rows=${rows.size}")
    println("total=$total")
    println("names=$names")
}
fun main() {
    val records = "tea:2;rice:3"
    val bonus = 
    val rows = records.split(";")
    var total = bonus
    var names = ""

    for (row in rows) {
        val fields = row.split(":")
        val name = fields[0]
        val count = fields[1].toInt()
        total += count
        names += name
    }

    println("bonus=$bonus")
    println("rows=${rows.size}")
    println("total=$total")
    println("names=$names")
}
fun main() {
    val records = "tea:2;rice:3"
    val bonus = 
    val rows = records.split(";")
    var total = bonus
    var names = ""

    for (row in rows) {
        val fields = row.split(":")
        val name = fields[0]
        val count = fields[1].toInt()
        total += count
        names += name
    }

    println("bonus=$bonus")
    println("rows=${rows.size}")
    println("total=$total")
    println("names=$names")
}
parse-records Text records can be parsed with small, bounded loops.