
Quantum Harmonizer
13.07.2018
14:43:07
вывода типов там и в помине нет

Bogdan
13.07.2018
14:43:52

Quantum Harmonizer
13.07.2018
14:44:00
это баг)

Google

Bogdan
13.07.2018
14:45:38
+ иногда приходится задать листенер + передаешь лябду, и нада юзать уродливые дженерики, и авто вывода типа как у котлин нет (я обявил перееную и там уже указал дженерик), в котле даже писать не нада в итоге
это баг)
уже в группе новичков по джаве натыкались на такое

dimiii
13.07.2018
14:55:08

Bogdan
13.07.2018
14:55:56
котлин как раз про не компилюсь

dimiii
13.07.2018
15:06:25
это мозг говорит что их нет, но по факту есть вызов функции которая принимает тип с с дженериком, кооторого нет, и еще непонятная d
>>> fun foo(a: Boolean, b: Boolean, c: Boolean) = println("$a, $b, $c")
>>> val a = 1
>>> val b = 2
>>> val c = 3
>>> val d = 4
>>> foo(a < b, true, c > d)
true, true, false

Quantum Harmonizer
13.07.2018
15:06:52
тип никак не может называться true :)

dimiii
13.07.2018
15:08:21

Quantum Harmonizer
13.07.2018
15:08:47
Ой, точно, может, но с бэктиками.

dimiii
13.07.2018
15:09:47

Bogdan
13.07.2018
15:09:53
но нужно учитывать сложность парсера, практическую применяемость, сложность написать иначе

Google

Bogdan
13.07.2018
15:11:15
тот код можно написать иначе, с типом и дженериклм не всегда

dimiii
13.07.2018
15:11:19
хорошо предложите свой вариант
Да собственно у меня это и был посыл - true такой же терм, как идентификатор, парсер должен пойти по ветке разбора логических выражений и аппликации функции, а не дженериков

Bogdan
13.07.2018
15:12:11

Vladimir
13.07.2018
16:10:45

Quantum Harmonizer
13.07.2018
16:12:18

Alexey
13.07.2018
16:19:07
Посоны, а кто-нибудь сталкивался с тем что не получается замокать метод, который принимает функцию?
onErrorProcessSingle(error: Throwable,
errorClass: Class<E>,
customHandler: () -> Single<T>): Single<T>
пробую как-то так:
whenever(errorHandler.onErrorProcessSingle(socketException, any<Class<ImageNPayException>>(), any<() -> Single<CardApiModel>>()))
.thenReturn(Single.error(NoInternetImageNPayException(socketException)))
Не мокается

Konstantin
13.07.2018
16:20:19
А что говорит хоть?

Alexander
13.07.2018
16:20:19
Не мокАется?
Простите, вырвалось

Alexey
13.07.2018
16:20:45
Ну то есть как-будто не сработало мокирование
Не мокАется?
Поглубже окунать пробовал, все равно не мокАется ага
Как гусь, сухой из воды(

Mikhail
13.07.2018
16:25:54
а не пробовал с типовыми аргументами any играться?
или заменить на anyObject()

Alexey
13.07.2018
16:29:27

Google

Alexey
13.07.2018
16:29:41
Которое от nharman или как его там

Mikhail
13.07.2018
16:29:53

Alexey
13.07.2018
16:32:58
Пришлось не мокировать, а использовать реальный объект, что по сути не правильно

Igor
13.07.2018
16:34:16
Моки это вообще зло (и rx тоже ?)

1337
13.07.2018
16:35:33
а рх че?

dimiii
13.07.2018
16:37:58

Alexey
13.07.2018
16:38:47

dimiii
13.07.2018
16:39:51

Alexey
13.07.2018
16:40:54

dimiii
13.07.2018
16:41:28

Alexey
13.07.2018
16:42:08

Igor
13.07.2018
16:55:40
а рх че?
По тому что не нужен ?♀️
rx.Single очевидно заменяется базовыми корутинами, а observable каналами

1337
13.07.2018
16:55:49
а реактор?

Egor
13.07.2018
16:57:19
А реактор вроде и не про то

1337
13.07.2018
16:57:53
это таже рх джава
тока без оглядки на ведроид

Egor
13.07.2018
16:58:34
А то рх джава сильно на ведроид смотрит

1337
13.07.2018
16:59:21
ну реактор ваще по этой самой причине и повился

Konstantin
13.07.2018
17:03:13

Google

Andrey
13.07.2018
17:03:23
Я просто оставлю это здесь как пример того, что может Kotlin, и как не надо на нём писать:
typealias Action = () -> Unit
infix operator fun Unit.plus(s: String) = print(" $s")
infix operator fun Unit.plus(next: Action): Action = print(" ") go next
infix fun Unit.go(next: Action): Action = next
val we: Action = { print("We") }
infix fun Action.are(the: Action): Action = this() + "are" + the
val the: Action = { print("the") }
infix fun Action.best(programmers: Action): Unit = (this() + "best" + programmers)()
val programmers: Action = { print("programmers") }
val sentence = we are the best programmers
fun main(args: Array<String>) = Unit

Igor
13.07.2018
17:08:25

dimiii
13.07.2018
17:09:43

Andrey
13.07.2018
17:10:00
infix fun Unit.go(next: Action): Action = next

dimiii
13.07.2018
17:10:40

Konstantine
13.07.2018
17:12:36

Egor
13.07.2018
17:14:06
Нужны ?
Вот, кстати, в реакторе оно лучше сделано.
А вообще-то не нужны

Konstantin
13.07.2018
17:15:01

Admin
ERROR: S client not available

1337
13.07.2018
17:15:16
Mono-то не нужны?

Egor
13.07.2018
17:16:10
Вот моно это как раз адекватная монада, не эти нариковые стримы из 0 или 1 элемента

Konstantine
13.07.2018
17:17:49

Konstantin
13.07.2018
17:19:51

dimiii
13.07.2018
17:20:24

Andrey
13.07.2018
17:20:56
Вот на вычислении sentence всё и выводится

dimiii
13.07.2018
17:21:34
Спасибо

Igor
13.07.2018
17:22:02

Andrey
13.07.2018
17:22:05
Я же говорил, что это пример, как не надо писать ?

Google

Konstantin
13.07.2018
17:34:11

Quantum Harmonizer
13.07.2018
18:26:35
Сегодня вмёрджили KEEP на inline-классы.

Igor
13.07.2018
18:27:30
На секунду прочитал тайп-классы ? ... (чуть со стула не свалился)

1337
13.07.2018
18:40:29
что еще за каналы?

Igor
13.07.2018
18:40:57
https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md#channels

dimiii
13.07.2018
18:51:57
Ух ты! Долгожданный 2.0 на подходе https://github.com/spekframework/spek/releases

Konstantine
13.07.2018
18:58:11

Igor
13.07.2018
18:58:46
Что бы сущностей не плодить (c) оккам.
Зачем это Completable с дополнительным +100 методами и учитывая, как они хреново конвертятся друг в друга.

Konstantine
13.07.2018
18:59:09
Пока все эти аргументы о "ненадобности" выглядят как «я не пользуюсь - значит не нужно»

Quantum Harmonizer
13.07.2018
19:01:58
Давай создадим BiObservable, который можно объёрвить BiConsumer'ом, мы ж не лохи — кортежи/пары объёрвить.

Konstantine
13.07.2018
19:02:44

Quantum Harmonizer
13.07.2018
19:04:28
он не стоит того, чтобы на него писался такой же полноценный монструозный класс, как остальные классы в Rx.

Konstantine
13.07.2018
19:04:54
Нет, оно уже написано.
Зачем сейчас, когда оно есть уже, говорить, что не надо.
Если бы он был в планах, я бы мог понять, хотя и то думаю можно оспорить, но сейчас чего

Quantum Harmonizer
13.07.2018
19:05:52

Konstantine
13.07.2018
19:06:20

Quantum Harmonizer
13.07.2018
19:06:38