Skip to content
TrackPodcasts
educationJul 8, 201921:37pending

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

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 episodes

Free 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.

168: Learning Kotlin: Lambda Expressions Part 2

Fragmented - AI Developer Podcast

0:00
21:37

More episodes

More from Fragmented - AI Developer Podcast

View all episodes →