Ellen Spertus
02/27/2020, 12:35 AM// 1
fun matchUtterance(match: MatchResult): List<MatchResult> =
alternatives.flatMap { pattern ->
pattern.matchUtterance(match)
} + if (empty) listOf<MatchResult>(match) else emptyList<MatchResult>()
or
// 2
fun matchUtterance(match: MatchResult): List<MatchResult> {
val results = alternatives.flatMap { pattern ->
pattern.matchUtterance(match)
}
return if (empty) results + listOf(match) else results
}