// Created on savesnippets.com · https://savesnippets.com/imXJt8pd1xmLs7 fun processUsers(users: List): Map { val result = mutableMapOf() // Local function — captures `result` from outer scope fun record(name: String, score: Int) { result[name] = (result[name] ?: 0) + score } users.forEach { user -> when { user.startsWith("admin_") -> record(user, 100) user.length > 8 -> record(user, 50) else -> record(user, 10) } } return result } fun main() { val scores = processUsers(listOf("admin_root", "alice", "verylongname", "bob")) println(scores) }