С Функции высшего порядка и лямбда-выражения :
В Котлине существует соглашение, согласно которому, если последний параметр функции принимает функцию, лямбда-выражение, котороепереданный в качестве соответствующего аргумента может быть помещен за скобки:
Так что в вашем случае у вас есть функция, которая принимает три необязательных параметра.В первой реализации:
myObservable.subscribeBy { str -> }
Вы используете эту функцию, чтобы исключить скобки для последнего лямбда-параметра (то есть onNext
).Однако, когда вы используете вторую реализацию:
myObservable.subscribeBy({ throwable -> })
Так как он находится в скобках, он должен быть первым параметром, если вы не указали его явно в качестве последнего параметра, например:
myObservable.subscribeBy(onNext = { str -> })