
168: Learning Kotlin: Lambda Expressions Part 2
About this episode
In this episode, Donn continues his talks about Kotlin Lambda Expressions. He explains how you can use lambda expressions as function parameters and as return types for functions.
This is a very dense episode - if you get lost look at the code snippets below or view on them on fragmentedpodcast.com
class LogReader {
fun processFile(file: File, processLine: (String) -> Unit = {}) {
file.forEachLine {
println("Number of Chars: ${it.length}")
processLine(it)
println("Line Done Processing")
}
}
fun processFileWithHandlers(file: File, logHandler: LogHandler) {
file.forEachLine {
println("Start of Processing")
logHandler.handleLine().forEach { handler -> handler(it) }
println("Line Done Processing")
}
}
}
interface LogHandler {
fun handleLine(): List<(String) -> Unit>
}
val reader = LogReader()
val textFile = File("/Users/donnfelker/scratch/lorem.txt")
// Process with single lambda
reader.processFile(textFile, { println("First 10 Chars: ${it.substring(0..9)}") })
val logHandler = object : LogHandler {
override fun handleLine(): List<(String) -> Unit> {
return listOf<(String) -> Unit>(
{ line -> println("${line.substring(0, 1)}") },
{ line -> println("${line.substring(2, 4)}") },
{ line -> println("${line.substring(5, 10)}") }
)
}
}
// Process with multipe handlers via the logHandler
reader.processFileWithHandlers(textFile, logHandler)
Sponsors 🙏
- sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
Contact
- Discord chat or @fragmentedcast or our Youtube channel
- @donnfelker and donnfelker (on Instagram)
- @kaushikgopal and kaushikgopal (on Instagram)
Get every episode summarized
Each time Fragmented - AI Developer Podcast publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from Fragmented - AI Developer Podcast

311 - Self learning harnesses are here
Fragmented - AI Developer Podcast

310 - Mitchell Hashimoto on Ghostty & His Agentic Coding Workflow
Fragmented - AI Developer Podcast

309 - Background Agents
Fragmented - AI Developer Podcast

308 - How Image Diffusion Models Work - the 20 minute explainer
Fragmented - AI Developer Podcast