Sveriges mest populära poddar
Fragmented - AI Developer Podcast

168: Learning Kotlin: Lambda Expressions Part 2

22 min8 juli 2019

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

Fler avsnitt av Fragmented - AI Developer Podcast

Visa alla avsnitt av Fragmented - AI Developer Podcast

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