1
在Kotlin函数的最后一个语句可以解释为它的返回值。对于用作表达式的Kotlin函数,是否有简洁的方式来操作并返回值?
下面的例子可以简化为不太冗长吗?
{ text: String ->
val validated = validateText(text)
if (validated) {
actOnValidation()
}
validated
}
一个具体案例,我想这样做是低于使用RxJava一个例子 - 即使有更好的接收方法我也有兴趣在纯科特林解决方案,如果它的存在。
fun inputChainObservable(targetField: TextView, chainedField: TextView): Observable<Boolean> {
return targetField.textChanges()
.observeOn(AndroidSchedulers.mainThread())
.map { cs: CharSequence? ->
val hasInput = validateText(cs.toString())
if (hasInput) {
chainedField.requestFocus()
}
hasInput
}
}