https://kotlinlang.org logo
Title
e

Eugene Freeman

09/04/2020, 6:01 PM
Hi there Is there any legal way to convert
private suspend fun containsMatchIn(contentMessage: ContentMessage<*>): Boolean {
        val content = contentMessage.content
        return ((content is TextContent) && !hasCommand(content) && containsInText(content.text))
                || ((content is PhotoContent) && containsInImage(content))
    }
into
private suspend fun containsMatchIn(contentMessage: ContentMessage<*>): Boolean {
        return ((contentMessage.content is TextContent) && !hasCommand(contentMessage.content) && containsInText(val content = contentMessage.content.text))
                || ((contentMessage.content is PhotoContent) && containsInImage(contentMessage.content))
    }
to get rid of the extra variable
val content = contentMessage.content
? Thanks
n

nanodeath

09/04/2020, 6:03 PM
I'd probably rewrite that into a
when
, for starters, since you're pattern-matching on class
and if you really want to get rid of that
val
, you can say
contentMessage.content.let { content ->
I guess
a

Adam Powell

09/04/2020, 6:13 PM
Or combine the two into
when (val content = contentMessage.content) {
e

Eugene Freeman

09/04/2020, 7:48 PM
thanks
looks much better