Fragmented - Android Developer Podcast

The Fragmented Podcast is a podcast for Android Developers hosted by Donn Felker and Kaushik Gopal. Our goal is to help you become a better Android Developer. We chat about topics such as Testing, Dependency Injection, Android Patterns and Practices, useful libraries and much more. We will also be interviewing some of the top Android Developers out there. Subscribe now and join us on the journey of being an Android Developer.

http://www.fragmentedpodcast.com

subscribe
share



 

episode 168: 168: Learning Kotlin: Lambda Expressions Part 2


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)


share





 08 July 2019  21m