1
Kotlinでは、関数の最後のステートメントを戻り値として解釈できます。式として使用されるKotlin関数の場合、操作して値を返す簡潔な方法はありますか?
次の例のような状況を簡略化して冗長にすることはできますか?
{ text: String ->
val validated = validateText(text)
if (validated) {
actOnValidation()
}
validated
}
私はこれをやりたい具体的なケースではRxJavaを使用した例では以下です - それが存在する場合は、より良いRxのアプローチがあります場合でも、私はまた、純粋なKotlinソリューションに興味があります。
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
}
}