Я пытаюсь преобразовать свой класс Java в Kotlin. Это код Java:
Observable.just("Stacey")
.zipWith(Observable.just(6),
(name, age) -> {
String text;
if(age < 18){
text = name + " is a child";
}else{
text = name + "is not a child";
}
return text;
}
);
И вот что я преобразовал в:
Observable.just("Stacey")
.zipWith(Observable.just(6),
BiFunction<String, Int, String> {name, age ->
var text: String
if(age < 18){
text = "$name + is a child"
}else{
text = "$name + is not a child"
}
return text
}
)
Кажется, что лямбда-нотация не работает вообще, или я просто не могу понять это. Все примеры для BiFunctions в Kotlin, которые я нашел, возвращают значение, подобное этому
BiFunction {name, age -> name + age}
, что является синтаксически правильным, но янужна дополнительная логика, прежде чем я что-то верну. Появляются два сообщения об ошибке:
Но я хочу вернуть строку, и я также явно объявил ее. Но где еще можно поставить возврат?