@kotlin_lang

Страница 145 из 982
Alexey
23.05.2017
13:06:42
два it в одном выражении, нехорошо

Denis
23.05.2017
13:07:31
в этом норм, imo

Alexey
23.05.2017
13:08:02
сомневаюсь

Igor
23.05.2017
13:08:08
Приведение к String забыл

Google
Denis
23.05.2017
13:10:02
Приведение к String забыл
зависит от реализации :P

Alexey
23.05.2017
13:10:50
et.price.text = it.currentPrice?.toString() ?: ""

? animufag ?
23.05.2017
13:11:41
et.price.text = it.currentPrice?.toString() ?: ""
не факт, что поле нужно опустошать в случае нула

Alexey
23.05.2017
13:12:27
а, ну да

тогда так: et.price.text = it.currentPrice?.toString() ?: et.price.text ?

? animufag ?
23.05.2017
13:13:04
тот же самый let. мой интерес был в том чтобы развернуть let и сделать определения для нескольких аргументов

Alexey
23.05.2017
13:13:41
каких нескольких аргументов? нужен аналог coalesce?

Denis
23.05.2017
13:13:49
do { et.price.text = it.currentPrice?.toString() ?: break } while (false) мухахах!

? animufag ?
23.05.2017
13:15:54
do { et.price.text = it.currentPrice?.toString() ?: break } while (false) мухахах!
вот это норм. правда тип не выведется для ?: точнее выведется но будет не ок

Alexey
23.05.2017
13:16:51
да эта пакость даже скомпилироваться не должна по уму-то

? animufag ?
23.05.2017
13:17:11
ну у бреак тип будет Unit, и общий тип у этих двух будет Any и нельзя присвоить в переменную стринг

Google
Denis
23.05.2017
13:17:20
да эта пакость даже скомпилироваться не должна по уму-то
ум нужно прокачать чтением документации, тогда скомпилируется ?

Dmitry
23.05.2017
13:17:41
наркоманы

John
23.05.2017
13:17:54
/stat

Combot
23.05.2017
13:17:55
combot.org/chat/-1001032833563

Alexey
23.05.2017
13:19:01
даже если скомпилируется, лучше не надо

Denis
23.05.2017
13:19:14
var name: String? fun someObjectMethod() { val name = name ?: return println(name.length) }

? animufag ?
23.05.2017
13:19:34
ум нужно прокачать чтением документации, тогда скомпилируется ?
короче ты победил. оно скомпилилось и работает var a: Int? = 1 do { a = a ?: break } while (false) a // 1

Denis
23.05.2017
13:20:06
Alexey
23.05.2017
13:20:07
фубля-код

Igor
23.05.2017
13:20:15
А можно сразу inline infix fun <T> T?.`▷`(block: (T) -> Unit) = if (this != null) block(this) else Unit it.currentPrice `▷` { et.price.text = "$it" }

Denis
23.05.2017
13:22:20
var name: String? fun someObjectMethod() { val name = name ?: return println(name.length) }
хотя подобный код показан в idioms. но видимо не все его видят там

? animufag ?
23.05.2017
13:26:39
хотя подобный код показан в idioms. но видимо не все его видят там
немного магическое поведение у ?: если написать самому функцию orElse то уже не выйдет так делать

? animufag ?
23.05.2017
13:32:26
Alexey
23.05.2017
13:34:02
ну, пусть applyOptionals принимает varargs и перебирает в цикле

? animufag ?
23.05.2017
13:37:30
покажи код
fun <T> (T?).orElse(other: T) = if (this != null) this else other

Руслан
23.05.2017
13:40:01
(я тут мини пост написал, что думаете по поводу kotlin теста, стоит такую саппорт библиотеку написать? https://ruslan.ibragimov.by/23-05-2017.small-scopes-and-srp-rocks-isnt-it)

Vic
23.05.2017
14:02:32
Почему в котлине: for (i in 0..SIZE - 1) а не for (i in 0..<SIZE) ?

Михаил
23.05.2017
14:03:06
Есть until

Google
Михаил
23.05.2017
14:03:30
for (i in 0 until Size)

Руслан
23.05.2017
14:03:37
Это авто конвертер

Admin
ERROR: S client not available

Vic
23.05.2017
14:05:30
Вопрос был не Руслану, но давно хотел узнать, почему дизайнеры Котлина не взяли синтакс попроще )

Denis
23.05.2017
14:05:55
fun <T> (T?).orElse(other: T) = if (this != null) this else other
ну тут никак return не засунешь)

inline fun <T> (T?).orElse(other: () -> T) = if (this != null) this else other()

val x = something.orElse { return }

? animufag ?
23.05.2017
14:08:03
ну ты же для ?: передаёшь не лямбду. ну и я про то что средствами языка такое поведение не воспроизвести

Denis
23.05.2017
14:10:12
ну ты же для ?: передаёшь не лямбду. ну и я про то что средствами языка такое поведение не воспроизвести
в хвосте элвиса я ничего не передаю, там стоит controlflow-оператор. а на счет воспроизведения – я чот не увидел смысла)

Почему в котлине: for (i in 0..SIZE - 1) а не for (i in 0..<SIZE) ?
да казлы потому что! не могли хорошую фичу спереть :D

? animufag ?
23.05.2017
14:12:42
в хвосте элвиса я ничего не передаю, там стоит controlflow-оператор. а на счет воспроизведения – я чот не увидел смысла)
зачем такое поведение воспроизводить? ну чтобы сделать свой тип Either например и свой аналог элвиса и бросать throw или return если у тебя Left значение ну и тд. вообще круто что в современных языках начали делать опшионалы и не круто, что они сделаны встроенными

? animufag ?
23.05.2017
14:27:39
не. нужно было просто сделать референс функции ::testFun1.applyOptional(null) // null

? animufag ?
23.05.2017
15:15:26
ага, и в итоге у каждого получится своя версия kotlin
Лучше уж как в го где у всех одинаковые контейнеры?

Алексей
23.05.2017
15:25:39
кто-нибудь еще сталкивался с проблемой что при подключенном интернете (по usb модему) сборка занимает в 15 раз больше времени?

или я один такой уникальный?

если что у меня windows 7 x64 SP1, IDE: intellij idea

все делал по https://kotlinlang.org/docs/tutorials/getting-started.html

Igor
23.05.2017
15:38:04
Google
Алексей
23.05.2017
15:39:19
build.gradle покажи (на pastebin.com). Ты где-то это в android чате спрашивал, не помогли?
в анройд чате я не спрашивал, я говорил об этой проблеме в чате kotlin

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