Для скорости можно было бы сделать функцию ```inli...
# russian
b
Для скорости можно было бы сделать функцию
Copy code
inline fun <T, R> Sequence<T>.findFirstNotNullResult(transform: (T) -> R): R? {
    for (element in this) {
        val result = transform(element)
        if (result != null) {
            return result
        }
    }
    return null
}
i
Да, такая функция была бы очень полезна, но у нее одна проблема — подобрать для нее подходящее имя. https://youtrack.jetbrains.com/issue/KT-12109
b
Я и не думал её в stdlib предлагать :)
Тогда вот ещё короче :)
Copy code
inline fun <T, R> Sequence<T>.findFirstNotNullResult(transform: (T) -> R): R? {
    for (element in this) transform(element)?.also { return it };
    return null
}