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/
- Discord chat or @fragmentedcast or our Youtube channel
- @donnfelker and donnfelker (on Instagram)
- @kaushikgopal and kaushikgopal (on Instagram)
Fler avsnitt av Fragmented - AI Developer Podcast
Visa alla avsnitt av Fragmented - AI Developer PodcastFragmented - AI Developer Podcast med Kaushik Gopal, Iury Souza finns tillgänglig på flera plattformar. Informationen på denna sida kommer från offentliga podd-flöden.
