
Pavel
28.12.2017
09:38:09

Sergey8827
28.12.2017
09:38:43

Pavel
28.12.2017
09:39:29
Назови два пункта, чем массивы в яве проще чем в котлине.

Евгений
28.12.2017
09:40:14
ну хз, тут это вкусовщина я считаю
new String[]{"1","1"}
не проще
arrayOf("1", "2")
я считаю

Google

Pavel
28.12.2017
09:40:55
+1
Плюс легко заменить на listOf() если незапно понадобилось.
Ждем ответа Sergey8827

Sergey8827
28.12.2017
09:41:26

Vitalii
28.12.2017
09:42:03

Pavel
28.12.2017
09:42:09
Ты можешь явно указать тип, если тебе не понятно что это массив строк
arrayOf<String>("1", "2")

Vitalii
28.12.2017
09:42:12
Там прям примером:
val x: IntArray = intArrayOf(1, 2, 3)

Sergey8827
28.12.2017
09:42:56
вот что за костыль зачем мне еще приписки делать intArraOf int - преписка костыльно выглядит

Pavel
28.12.2017
09:43:17
Блять не слушай его.
arrayOf<Int>(1, 2)

Sergey8827
28.12.2017
09:43:27
на яае все одним шаблоном Integr[]{1,1}

Vitalii
28.12.2017
09:43:54

Pavel
28.12.2017
09:44:03
http://simplecat.tk/shots/shot-20171228-124354.png

Vitalii
28.12.2017
09:44:11

Google

Sergey8827
28.12.2017
09:44:11

Pavel
28.12.2017
09:44:49

Sergey8827
28.12.2017
09:44:50
надо еще почитать доку

Vitalii
28.12.2017
09:45:04

Pavel
28.12.2017
09:45:06
arrayListOf() туда же
Но на самом деле тип лучше указывать только когда у тебя пустой массив, например при объявлении поля класса. Иначе ide будет просить убрать явную типизацию, ибо избыточно.
Собственно на скрине подчернутое серым - именно оно.

DarkMentat
28.12.2017
09:55:55
Да и вообще вывод типов делали не чисто поржать
И так ясно, что там за тип

Sergey8827
28.12.2017
09:58:24
а если мне нужен пустой массив то
val myStringArray = arrayOfNulls<String>(3)
ладно жить можно

Mi
28.12.2017
09:58:44
но ведь
intArrayOf()
и
arrayOf<Int>()
отличаются, в первом случае это примитивы, во втором классы-обёртки, разве не так?

Pavel
28.12.2017
10:01:52
Вообще в котлине Int и есть вроде как примитив.

Ivan
28.12.2017
10:02:15

Pavel
28.12.2017
10:02:37
А по-подробнее.
На самом деле вопрос то хороший. Я ответа не знаю.

Ivan
28.12.2017
10:03:21
Ну например ситуация с Int?
Но это логично вроде

Vitalii
28.12.2017
10:04:01
https://stackoverflow.com/questions/45420806/are-kotlin-data-types-built-off-primitive-or-non-primitive-java-data-types#45420993
"The numeric type usages in Kotlin are compiled into JVM primitives where possible. Some usages require boxed types (e.g. a nullable Int? requires boxing, and so does a generic type implementation with an Int as a type argument), but the compiler decides whether they are necessary for each case."

Boris
28.12.2017
10:05:53

Google

Vitalii
28.12.2017
10:08:02

Sergey8827
28.12.2017
10:25:39
Мы хотим котлин ущербным называть.
Извиняюсь, если оскорбил чьи то чувства
На самом деле уже несколько раз хотел сказать как мне нравится котлин
На яве заколеблишься тайпить кучу текста- в итоге много копипастишь с источников ил со своего же кода. Что как бы
Уже больше месяца на Котлине, заметил как код пишу клавиатурой, а не мышкой, и это приятно.

Ilias
28.12.2017
10:46:49
Знак подчеркивания не нравится?
С чего бы это

Pavel
28.12.2017
10:47:26
Не соответствует стайлгайду типа.
Не критично.

Ilias
28.12.2017
10:47:39
А где этот стайлгайд?

Pavel
28.12.2017
10:47:47
В IDE
Если это внешняя либа, то забей, бывает.

Ilias
28.12.2017
10:48:23
Рядом лежат джаваклассы, не ругакется
))
А котлину не нравится

Vladimir
28.12.2017
10:58:09

Vadim
28.12.2017
12:54:20
Есть некая коллекция
private var items = emptyList<ItemViewModel>()
Хочу определять нажатие по элементу в ней.
Пробую нечто подобное:
private fun onLoginViewModelClick(selectedGuid: String) {
items.forEach {
items.firstOrNull { it.guid == selectedGuid }?.let {
it.selected = !it.selected
}
}
}
но увы мимо, не могу понять в чём проблема ...

Krocks
28.12.2017
13:40:49
может кто то обьяснить подробно что тут происходит: "inline fun <T, R> with (receiver: T, f: T.() -> R):=receiver.f()" интересует "T, f: T.() -> R" Желательно по шагам

Bogdan
28.12.2017
13:45:59
Т - некий тип, receiver обекты типа Т, f: T.() -> R - а функция которая выполнится на receiver, R тип который возращает функця
а а вообще почитать про kotlin extension

Andrey
28.12.2017
13:47:32
Иными словами, внутри переданной функции f у тебя будет this типа T равный receiver

Bogdan
28.12.2017
13:50:27
+ f это пофакту лямба

Quantum Harmonizer
28.12.2017
13:52:00
Все эти объяснения достаточно скомканные.
Думаю, стоит почитать доку по функциям.

Google

Krocks
28.12.2017
13:58:02
Да я читал, тут просто очень много магии одновременно, по крайней мере пока

Admin
ERROR: S client not available

Quantum Harmonizer
28.12.2017
14:01:55

Andrey
28.12.2017
14:04:02
T.() -> R

Quantum Harmonizer
28.12.2017
14:04:22

Krocks
28.12.2017
14:07:21
Понял, спасибо

Sergey
28.12.2017
15:17:52
походу с корутинами контекстом проще управлять чем на rx
https://github.com/Kotlin/kotlinx.coroutines/releases/tag/0.21 новый релиз кстати

Igor
28.12.2017
15:48:13
Ну наконец то run переименовали ?

Roman
28.12.2017
15:52:04
Осталось только пойти, найти и исправить все ответы на stackoverflow где упоминался run. Есть желающие помочь?

Sergey
28.12.2017
15:54:36
https://stackoverflow.com/search?q=%5Bkotlin%5D++coroutine+run вроде их не так уж и много
https://stackoverflow.com/search?q=%5Bkotlin%5D%5Bcoroutine%5D+run даже так
закончились квоты на редактирования)

Quantum Harmonizer
28.12.2017
16:03:07
сколько штук отредактировал?
(чтоб я не кинулся редактировать их же)

Sergey
28.12.2017
16:04:04
я так просмотрел что вроде все

Quantum Harmonizer
28.12.2017
16:04:10
ок :/

Konstantine
28.12.2017
16:13:01

Igor
28.12.2017
16:14:59
Конфликтует в подсказках IDEA с run из kotlin-standart-library

Google

Sergey
28.12.2017
17:02:06
да и withContext как-то нагляднее что ли

Anton
28.12.2017
20:45:04
https://github.com/JakeWharton/retrofit2-kotlin-coroutines-adapter

Igor
28.12.2017
20:47:12
Хех как мы без этих 100 строчек жили то

Anton
28.12.2017
20:47:36
ну теперь удобнее) а кто хотел конечно уже давно себе сделал

Gleb
28.12.2017
21:45:42

Anton
28.12.2017
21:46:18
да я просто гитхаб фид открыл а там это) ну думаю дай поделюсь

Gleb
28.12.2017
21:46:36
Елизаров этот пример уже полгода во всех докладах по корутинам показывает
Хотя, я неправ по поводу баяна
Тот, что я кинул, только екстеншн await для ретрофитовского Call добавляет
А благодаря твоему можно Deferred вместо Call юзать

Alexey
29.12.2017
00:33:54

Александр
29.12.2017
07:05:13
Всем привет! Подскажите плз хороший youtube курс по котлин для неспешного изучения основ языка на новогодних праздниках. Документацию видел, планирую читать, но все-же...

Alexey
29.12.2017
07:07:00

Александр
29.12.2017
07:08:13

Vitalii
29.12.2017
07:08:43