В Java это можно сделать ->
someList.stream().map(x -> {
y = doSomeOperation(x);
z = doSomeOtherOperation(y);
return z;
}).collect(Collectors.toList());
Мне нужно преобразовать приведенный выше код в Kotlin. Но во всех онлайн-уроках я узнаю, что возможно иметь только простые лямбды, такие как x -> x*x
или x->doSomethingThenReturnValue(x)
.
Разве невозможно написать сложную лямбду (которая делает некоторые сложные встроенные операция) как выше в kotlin? Я пытался написать ->
someList.map{ x -> {
y = doSomeOperation(x);
z = doSomeOtherOperation(y);
return z;
}}
Но выкинуло ошибку. Подскажите, пожалуйста, как правильно это сделать?