
Igor
29.12.2017
09:42:37

Illia
29.12.2017
12:37:01

Александр
29.12.2017
12:41:15

swh
29.12.2017
13:21:20
Ну и книга хорошая по котлу

Google

swh
29.12.2017
13:21:30

Алексей
29.12.2017
15:02:30
Есть вопрос по многопоточному программированию. Я хочу в потоке изменять значение переменной и как только оно достигнет определенного значения останавливать поток. Данный код не работает. Почему?
fun main(args: Array<String>) {
var i: Int = 0
object : Thread() {
override fun run() {
println("$i")
i++
if (i == 5)
Thread().stop()
}
}.start()
}
Выводит только 0

Жабра
29.12.2017
15:05:50
Ответ немного не в тему, но лучше было бы использовать немного другой вид создания потока
thread (start = true) {
...
}

Kirill
29.12.2017
15:08:09
Ты наверное цикл хотел сделать.
Но забыл.
Он один раз проходит, печатает твой ноль и выходит.

Жабра
29.12.2017
15:10:10
И ты, Thread().stop нужно заменить на Thread.currentThread.stop()
Хотя
Нет

Quantum Harmonizer
29.12.2017
15:10:33
Нет никакого Thread.stop()

Алексей
29.12.2017
15:10:36
Да проблема была в цикле

Quantum Harmonizer
29.12.2017
15:10:38
deprecated 20 лет как

Жабра
29.12.2017
15:10:45
Stop же deprecated

Google

Жабра
29.12.2017
15:10:47
Да
Извиняюсь.

Kirill
29.12.2017
15:13:07
var i: Int = 0 - тип тут можно не указывать.
Просто:
var i = 0

Жабра
29.12.2017
15:13:28
thread(start = true) {
var i = 0
while (i < 5) {
println("$i")
i++
}
}
Но лучше на for переделать

whalemare
29.12.2017
15:24:40
Я чё то не понял, получается он новый тред создавал и останавливал его вместо текущего?

Quantum Harmonizer
29.12.2017
15:26:40

Dmytro
29.12.2017
15:34:04

whalemare
29.12.2017
15:37:43
Ну да))
Однако кейс сложно применим на практике, и возможен наверное только если совсем тредов не знаешь

Quantum Harmonizer
29.12.2017
15:38:37
именно
Какая занятная штука.
https://youtrack.jetbrains.com/issue/KT-1215

? animufag ?
29.12.2017
20:12:24
С автовыведением не особо стакается
Тип будет не ясно сработало оно или взялся дефоотный аргумент.
Хотя можно сделать чтобы его не пытались вывести, но тогда на очевидное проведение и больше пазлеров

Руслан
29.12.2017
20:18:13

Igor
29.12.2017
20:45:17

Boris
29.12.2017
20:48:09
А, понял
Скобочки забыл

Google

Boris
29.12.2017
20:49:38
Да и не инстанциируется мутаблмэп так ?

Igor
29.12.2017
20:50:16

Жабра
29.12.2017
20:56:20
Щас обнаружил такую забавную штуку... В общем: написал две сортировки Шелла, одна работает напрямую с Long, а вторую сделал на дженериках + лямбда, определяющая как будет происходить сортировка. https://gist.github.com/indrih17/c7e47668313a2cc18e828a10ac82d5c5 И вот забавные результаты по времени
А without обычная
Почему так?

Boris
29.12.2017
20:58:00

Quantum Harmonizer
29.12.2017
21:00:09

Boris
29.12.2017
21:00:41
Так просто типы они всегда именованные, как и дженерики

? animufag ?
29.12.2017
21:10:54
BiFunction<Int, Double, Float>

Sergey
29.12.2017
21:10:59
http://kotlinlang.org/docs/reference/coding-conventions.html обновили

Igor
30.12.2017
10:40:48

Sergey
30.12.2017
10:41:37
Есть интересные чейнджи?
https://github.com/JetBrains/kotlin-web-site/blob/yole/styleguide/pages/docs/reference/coding-conventions.md ну если это видел уже, то нет) просто выложили в доку и подправили плагин чтобы поддерживал их

Admin
ERROR: S client not available

Anton
31.12.2017
19:18:18
С Новым годом, коллеги)

Alexander
31.12.2017
19:19:17
С Новым Годом :)

Denis
31.12.2017
21:29:08

Vlad
01.01.2018
08:23:54
а кто-нибудь пробовал async-await с realm на андроиде? если обращаться к бд в await, а потом к realm results в основном потоке, как прокинуть полученные рилм-объекты из worker-thread'а в main?

whalemare
01.01.2018
08:46:07

Google

Vitalii
01.01.2018
08:48:55

Vlad
01.01.2018
11:44:08

whalemare
01.01.2018
11:44:31

Vlad
01.01.2018
11:44:55

Sergey
01.01.2018
14:53:27
Привет. Подскажите, хочу перевести проект (мультимодульный maven) на Java9, пока не разбивая на модули. В котлине есть использование JAXB, которое сейчас не доступно по умолчанию в classpath. Для javac лечиться путем добавления -add-module java.xml.bind А здесь как? Падает при фазе kotlin-maven-plugin:1.2.10:compile
Помогло добавление <dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.0</version>
</dependency>

Igor
01.01.2018
19:32:51
@HeapyHop ты собираешься сделать доклад "rxjava vs корутины"? Или я не правильно понял твой ответ с доклад про корутины2?

Руслан
01.01.2018
19:33:20
Да, собираюсь

Igor
01.01.2018
19:33:53
OK, а когда ты его презентуешь? Интересная тема

Руслан
01.01.2018
20:00:19
После февраля думаю

Artyom
01.01.2018
20:11:52
корутины2?!

Igor
01.01.2018
20:16:16
Имелось в виду “корутины. часть 2”
С этого канала https://www.youtube.com/channel/UCj38YQRHsZ-idApaCIf_wSQ

Artyom
01.01.2018
20:19:31
А, ясненько

Roman
01.01.2018
20:23:57
Надо хороший пример придумать. Народ не поймет если пример будет простым. Типа слева просто и справа тоже просто.
Кстати во! А кто-нибудь делал на rxJava FSM?
Читал книжку про рективное программирование, так вот там были интересные примеры: игра lunar lander и UI где нужно было сделать драг-дроп трех простых фигур. Мне те примеры показались довольно сложными как в написании, так и в чтении. Надо будет попробовать их написать на корутинах...

Igor
01.01.2018
20:48:40

Владислав
01.01.2018
21:34:16

Денис
01.01.2018
21:55:37
Товарищи, тупой вопрос, но FAQов не вижу, потому всё-таки задам его в чате. Какие есть хорошие материалы для переползания (и вообще изучения языка) с Джавы и "переучивания" на хорошие для Котлина привычки? Форма - не очень значимо, но текстовая предпочтительна. Kotlin in Action или что-то другое из литературы подойдёт?

Жабра
01.01.2018
22:02:23
Как правильнее писать?
bar.forEach { x ->
foo(x)
}
Или
bar.forEach {
x -> foo(x)
}
Или
bar.forEach {
x ->
foo(x)
}
? Последний вариант рассматриваю из-за того, что бывают длинные неимы, например когда ходим по map.