
MainDRY
22.08.2017
06:43:48
Спасибо)

Quantum Harmonizer
22.08.2017
06:56:32
https://youtrack.jetbrains.com/issue/KT-19834

Igor
22.08.2017
11:08:47
Всем привет! А кто-нибудь знает как правильно написать следующую конструкцию?:
val handler: java.util.function.Function<Int, Boolean> = { (a: Int) -> true }
В IDE ошибка:

Google

Igor
22.08.2017
11:09:58
у меня есть код на Java, который принимает Function и хочу туда из котлина передать лямду

Pavel Shackih
22.08.2017
11:11:37
эту никак, у котлина свои функции kotlin.jvm.functions.FunctionN, они НЕ конвертятся на jdk8
если только как-то так
val handler: java.util.function.Function<Int, Boolean> = Function { it == 1 }

Quantum Harmonizer
22.08.2017
11:12:12

Igor
22.08.2017
11:13:50
так сработало:
val handler: java.util.function.Function<Int, Boolean> = java.util.function.Function<Int, Boolean> { a -> true }
спасибо!

Quantum Harmonizer
22.08.2017
12:12:07
И правда, не туда.
Полагаю, что это MeasureSpec.

Va
22.08.2017
12:12:58
а какого черта фреймворк мне его шлет ?))
куда, кстати, с такими вопросами ?

Quantum Harmonizer
22.08.2017
12:13:32
Не знаю, это только предположение :)
@android_ru

Anton
22.08.2017
15:02:50
ребят че ни у кого не быо такого?
> Cannot get property 'kotlinOutputDir' on null object
когда тесты хочшеь запустить
сразу падает

Google

Anton
22.08.2017
15:03:12
началось после перехода на 3 студию

Руслан
22.08.2017
16:19:18
РедХэт наигрались, и отдают Цейлон (привет из цейлона кстати) сообществу http://www.opennet.ru/opennews/art.shtml?num=47059

Igor
22.08.2017
16:22:56
С другой стороны хороший язык с открытой лицензией и без вендорлока (вон groovy в апаче и до сих пор жив).
Хотелось бы что бы Kotlin тоже был в каком-нибудь фаундейшени, подальше от JB.

Руслан
22.08.2017
16:24:09
Так есть же Kotlin Foundation :)

Igor
22.08.2017
16:46:21

Maxim
22.08.2017
16:58:03
Я заметил что точки останова при дебаге котлин кода как то смещены странно, т.е. то ли у меня какой то когнитивный диссонанс, то ли это баг какой то. Встречал ли кто то похожее поведение?

Vladimir
22.08.2017
16:59:47

Badya
22.08.2017
18:33:23

Sergey
22.08.2017
20:21:38

Anton
22.08.2017
20:27:08
ребят выполняется допустим 3 таска паралельно через ексекьюторпул. чтобы выполнить какое то действие после того как 3 завершатся идеально подойдет CyclicBarrier?
или CountDownLatch тоже норм

Quantum Harmonizer
22.08.2017
20:27:46

Anton
22.08.2017
20:28:10
а если мне не важен результат их важно лишь то что выполнено
гет же выполнится в мейн треде?

Quantum Harmonizer
22.08.2017
20:28:43
гет блокирующий!

Anton
22.08.2017
20:29:14
а я не хочу блокирующий) я хочу барьер

Quantum Harmonizer
22.08.2017
20:29:53
короче, есть же корутины :)
Какой барьер имеется в виду?

Anton
22.08.2017
20:30:33
CyclicBarrier из конкарент апи
мне запретили корутины))

Google

Anton
22.08.2017
20:30:39
и рх

Quantum Harmonizer
22.08.2017
20:31:01

Anton
22.08.2017
20:31:16
так

Quantum Harmonizer
22.08.2017
20:31:26
не вижу смысла использовать примитивы.
Future можно спросить, выполнилось ли оно.

Va
22.08.2017
20:31:39

Anton
22.08.2017
20:31:58
ну спрошу я один раз он скажет не выполнилось
нотифай откуда придет что фьючер выполнен
?
в цикле чтоли гонять?)

Va
22.08.2017
20:32:48
это делается через CountDownLatch

Anton
22.08.2017
20:32:54
ну вот я и спрашиваю)
что лучше подойдет под мой кейс CountDownLatch или CyclicBarrier

Quantum Harmonizer
22.08.2017
20:33:34
в каком потоке ты собрался использовать latch/barrier?

Anton
22.08.2017
20:34:13
ну так в мейн наверно
а в каком они должны использваться?)

Quantum Harmonizer
22.08.2017
20:34:37
о, какие анимашки https://habrahabr.ru/post/277669/

Anton
22.08.2017
20:35:26
а он что заблочит мейн? я думал он тупо будет ждать пока не получит нотификейшены а потом выполнит экшен котоырй я передал в конструктор
типа нотифай ему придет

Va
22.08.2017
20:36:09
ну да, ждать. в своем потоке )

Google

Anton
22.08.2017
20:36:42
ну он мне заблочит чтоли мейн поток

Quantum Harmonizer
22.08.2017
20:37:10

Андрей
22.08.2017
20:37:17
если await() не вызывать, то вроде не должен блочить

Anton
22.08.2017
20:37:25
так а в чем профит тогда

Quantum Harmonizer
22.08.2017
20:38:01

Anton
22.08.2017
20:38:03
блин ща затестю

Андрей
22.08.2017
20:39:15
но и результат не принесёт)
И барьеру, и счетчику можно сказать какую задачу выполнить после того, как наберется нужный каунт ( или для счетчика сбросится в ноль). Это разве не результат?

Anton
22.08.2017
20:40:12
вот мне это и нужно - выполнить действие - конерктно вызвать jobFinished

Quantum Harmonizer
22.08.2017
20:40:41

Anton
22.08.2017
20:41:16
When using a CyclicBarrier, the assumption is that you specify the number of waiting threads that trigger the barrier. If you specify 5, you must have at least 5 threads to call await().
When using a CountDownLatch, you specify the number of calls to countDown() that will result in all waiting threads being released. This means that you can use a CountDownLatch with only a single thread.
а не эт херня

Quantum Harmonizer
22.08.2017
20:41:28
Короче, к чёрту примитивы, я за Future.get() в фоне + runOnUiThread

Андрей
22.08.2017
20:43:06
Для барьера указание какую работу выполныть при достижении нужного каунта передаются через этот конструктор https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CyclicBarrier.html#CyclicBarrier-int-java.lang.Runnable-

Quantum Harmonizer
22.08.2017
20:43:06
(если это всё вообще имеет смысл :)

Anton
22.08.2017
20:43:25
разве это примитивы?)
помоему очень высокоуровневое апи

Quantum Harmonizer
22.08.2017
20:43:36

Va
22.08.2017
20:43:52
можно засемафорить!

Quantum Harmonizer
22.08.2017
20:43:55

Google

Anton
22.08.2017
20:44:15
так а че там с семафорой

Quantum Harmonizer
22.08.2017
20:44:19

Va
22.08.2017
20:44:23
(это шутка)

Quantum Harmonizer
22.08.2017
20:44:44
А вообще, мы тут оффтопим. Не надо так.

Anton
22.08.2017
20:45:19
тут только про корутины)
ладно спасибо посмотрю