koral
03/17/2017, 1:25 AMoverride fun processNewLines(lines: Array<String>) = lines.forEach { <http://logger.info|logger.info>(it) }
and it works as expected however when I change last invocation to lambda: override fun processNewLines(lines: Array<String>) = lines.forEach { logger::info }
code compiles fine but there is a runtime error java.lang.NoSuchMethodError: kotlin.jvm.internal.FunctionReference.<init>(ILjava/lang/Object;)V
at that linekingsley
03/17/2017, 6:15 AMlines.forEach(logger::info)
. Notice the paren instead of a curly brace. logger::info
itself is a function reference, so no need to wrap it inside a lambdakoral
03/17/2017, 11:35 AM