@kotlin_lang

Страница 469 из 982
Pavel
28.12.2017
09:38:09
зачем 100 млн способов просто создавать массив?
потому что массив массиву рознь. В простонародии массивами называют столько всего

Sergey8827
28.12.2017
09:38:43
друг, тебя принуждают писать на Kotlin?
так я не говорю что он мне совсем не заходит. Я люблю котлин уже)) больше чем Жабу. но массивы пока раздражают - так как на Яве это проще палки

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
ну хз, тут это вкусовщина я считаю new String[]{"1","1"} не проще arrayOf("1", "2") я считаю
ну тут ты уже можешь обозначить тип - и сделать такой же массив для любого типа просто написать тип а как понять тип на котлине?? а

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
вот что за костыль зачем мне еще приписки делать intArraOf int - преписка костыльно выглядит
Там же, в доке про массивы, ссылка есть на такое. Там уже есть пример: val ints: Array<Int> = arrayOf(1, 2, 3) https://kotlinlang.org/docs/reference/generics.html#type-projections

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
arrayOf<Int>(1, 2)
ну ок Признаю. Тогда это удобно. Спасибо просветили

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 и есть вроде как примитив.

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
но ведь intArrayOf() и arrayOf<Int>() отличаются, в первом случае это примитивы, во втором классы-обёртки, разве не так?
Да, это так. https://stackoverflow.com/questions/45090808/intarray-vs-arrayint-in-kotlin#45094889 http://jetbrains.github.io/kotlin-spec/#_java_interoperability "To pass an array of primitive values one can do the following in Kotlin: val javaObj = JavaArrayExample() val array = intArrayOf(0, 1, 2, 3) javaObj.removeIndices(array) // passes int[] to method"

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
А котлину не нравится
Для Java свои настройки codestyle

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
А разве не ресивер объект а функция передаётся?
передаётся и ресивер T и функция T.() -> R

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

Quantum Harmonizer
28.12.2017
14:04:22
T.() -> R
Спасибо, исправил.

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
Ну наконец то run переименовали ?
А что не так с именем ран?

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
https://github.com/JakeWharton/retrofit2-kotlin-coroutines-adapter
Так ведь баян https://github.com/gildor/kotlin-coroutines-retrofit

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

Gleb
28.12.2017
21:46:36
Елизаров этот пример уже полгода во всех докладах по корутинам показывает

Хотя, я неправ по поводу баяна Тот, что я кинул, только екстеншн await для ретрофитовского Call добавляет А благодаря твоему можно Deferred вместо Call юзать

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

Александр
29.12.2017
07:08:13
Лучше Kotlin in Action. Мне прям зашла эта книга)
Знаю, она хороша. Но мне бы видосик :)

Vitalii
29.12.2017
07:08:43
Всем привет! Подскажите плз хороший youtube курс по котлин для неспешного изучения основ языка на новогодних праздниках. Документацию видел, планирую читать, но все-же...
Не уверен, что есть полный курс, пока что лучшее из имеющегося: документация, kotlin koans (интерактивные задачи в Intellij Idea), ну и книга. Я сам больше видео люблю, но пока из годного — только доклады видел.

Страница 469 из 982