
Руслан
25.02.2018
18:45:13
Например из maven репозитория достать
compile("io.ktor:ktor-locations:0.9.1")

Ivan
25.02.2018
18:46:19
агонь, я весь мавен централл перерыл, его там не было...

Руслан
25.02.2018
18:52:48
https://dl.bintray.com/kotlin/ktor/io/ktor/ вот так точнее

Google

Руслан
25.02.2018
18:53:15
http://mvnrepository.com/artifact/io.ktor
ну и тут тоже хорошо ищет

Artem
25.02.2018
18:54:20

Руслан
25.02.2018
18:54:41
Там есть семпл готовый в репозитории

Ivan
25.02.2018
18:54:44

Artem
25.02.2018
18:56:15
Ага, спасибо

Alexey
25.02.2018
19:40:01

Quantum Harmonizer
25.02.2018
19:48:02
* без создания анонимных классов. Вне зависимости от того, лямбды используются или указатели на методы.
Думаю, что человек только начинает своё знакомство с котлином, и в таких условиях сложно воспринять документацию однозначно, правильно и с первого раза.

Vadim
25.02.2018
20:02:48
У меня есть функция:
private fun showRoomPasswordRequestDialog(name: String) {
AlertDialog.Builder(context,
R.style.MaterialThemeDialog)
.setTitle("Hello $name")
}
Я могу как-то "Hello $name" вынести в strings.xml, но чтобы при вызове функции логика с подменой $name сохранилась?

Anton
25.02.2018
20:05:24
${context.getString()}

Google

Valeriy
25.02.2018
20:06:12

Quantum Harmonizer
25.02.2018
20:06:37

Vadim
25.02.2018
20:08:22

Quantum Harmonizer
25.02.2018
20:08:52

Vadim
25.02.2018
20:09:06
ну мало-ли))

Max
25.02.2018
20:48:27
вопрос по Android Studio и Kotlin сюда можно?

Bogdan
25.02.2018
20:48:49
пробуй
но есть группа

Max
25.02.2018
20:49:13
какая?
можно линк?

Bogdan
25.02.2018
20:49:22
https://t.me/kotlin_mobile

Artem
25.02.2018
21:17:25
Ребят, как бы красивее сделать такой момент: функция, которая принимает лямбду и выполняет её, если внутри неё условие выполняется. Но при этом мне надо, если не выполнилось условие в этой функции, то выполнить что-то другое.
Что-то типа такого:
fun ifConnected(block: () -> Unit) {
if(Network.isConnected) {
block()
}
}
толкать две лямбды не оч красиво выглядит, нет?

Igor
25.02.2018
21:18:04

Artem
25.02.2018
21:18:04
Или вообще вот как такой момент можно организовать

Quantum Harmonizer
25.02.2018
21:18:20

Artem
25.02.2018
21:18:47
ладно, понял, спасибо)
если коллекция пустая, то каким будет результат у joinToString?

Quantum Harmonizer
25.02.2018
21:52:14

Google

Artem
25.02.2018
21:52:17
а, результата не будет, потому что не сработает походу вообще

? animufag ?
25.02.2018
22:40:05
что значит не сработает

Konstantine
25.02.2018
22:47:31

Vadim
26.02.2018
10:07:08
Есть sealed class
sealed class RoomListItem {
data class Header(val type: String) : RoomListItem()
data class Room(val room: Long, val description: String, val color: Int) : RoomListItem(), Serializable
}
Мне нужно передать RoomListItem.Room в интент, для этого я его сделал Serializable, но приложение падает с:
Caused by: java.lang.RuntimeException: Parcelable encountered IOException reading a Serializable object (name = ui.main.rooms.RoomListItem$Room)
как правильно пометить sealed класс как Serializable ?

Alexey
26.02.2018
10:11:37
sealed class RoomListItem {
data class Header(val type: String) : RoomListItem()
data class Room(val room: Long, val description: String, val color: Int) : RoomListItem(), Serializable
}
у тебя точно такой код?
Если да у тебя вообще внутренние классы получаются
Почекай документацию https://kotlinlang.org/docs/reference/sealed-classes.html
data классы итак serializable

Vadim
26.02.2018
10:16:01

Alexey
26.02.2018
10:16:51
RoomListItem у тебя не serializable

Mikhail
26.02.2018
10:33:30
или каким-то другим ключевым словом
это из темы "наоборот, чем в джавке"
пардон, *inner

Konstantine
26.02.2018
10:55:26
А, все, не на то он ругался.

Alexey
26.02.2018
10:58:58
Слишком много языков, и все "не такие как все"

Mikhail
26.02.2018
11:18:14
ребят, а как с переменными в замыкании у котлина дела обстоят?
могу я изменять интовое значение внтури замыкания внутри замыкания?

Google

Mikhail
26.02.2018
11:37:20
а то хочется в духе лиспа накатать утильный метод

Alexey
26.02.2018
11:39:33
Ссылка на var захватится

Dmitry
26.02.2018
11:39:47
И в чем проблема?

Artem
26.02.2018
11:40:54
почему не repeated++?

Сергей
26.02.2018
11:41:54
выглядит как жс

Mikhail
26.02.2018
11:42:37

Igor
26.02.2018
11:42:56
Эх, а мог бы простой цикл на корутинах написать

Mikhail
26.02.2018
11:43:19

trashkalmar
26.02.2018
11:43:40

Alexey
26.02.2018
11:44:51

? animufag ?
26.02.2018
11:44:51
блин это же rx? и там есть для этого комбинаторы

Mikhail
26.02.2018
11:45:28
остальное приходится руками писать

trashkalmar
26.02.2018
12:03:59
Сорри, ступил

Anatoly
26.02.2018
12:38:19
ребята, а как сказать Kotlin, что не надо заниматься подстановкой ${d} в данном случае, а оставить это скрипту:
engine.eval("""
const d = 10;
print(d equals to ${d});
""")

Alexey
26.02.2018
12:39:23
экранировать $

Anatoly
26.02.2018
12:41:24

Igor
26.02.2018
12:41:47
По моему только так
“”“…${“\${d}”}…”””

Alexey
26.02.2018
12:42:00
Два бакса подряд?

Google

Alexey
26.02.2018
12:42:10
обычно так делают экранирование

Anatoly
26.02.2018
12:42:52

Alexey
26.02.2018
12:44:54
https://kotlinlang.org/docs/reference/basic-types.html#string-templates
Да уж дичь сделали

Anatoly
26.02.2018
12:45:48

Nameless
26.02.2018
12:46:18

Anatoly
26.02.2018
12:46:51

Igor
26.02.2018
12:49:39
Кстати, если вставлять текст из клипборда прям в “””…”””, то IDEA сам правильно заэкранирует