@kotlin_lang

Страница 195 из 982
Adam
17.06.2017
21:12:13
если поменяешь var на val будет работать
ты уверен? Что-то не вижу логики, var и так позволяет перезапись

Михаил
17.06.2017
21:12:38
попробуй

Adam
17.06.2017
21:13:16
попробуй
да, всё верно. А в чём я ошибся? Почему здесь именно val требуется?

Михаил
17.06.2017
21:15:05
здесь дело не в том что требуется. просто компилятор не может с var однозначно решить какую функцию ты вызываешь. у Collection или MutableCollection потому что MutableList наследник и того и другого

Google
Михаил
17.06.2017
21:16:20
не поможет. ток руками add писать

Adam
17.06.2017
21:18:25
здесь дело не в том что требуется. просто компилятор не может с var однозначно решить какую функцию ты вызываешь. у Collection или MutableCollection потому что MutableList наследник и того и другого
ну и дизайн. Всё-таки когда речь заходит об readonly-array, я хочу видеть proxy над массивом с выбросом исключения при попытке записи через квадратные скобки!

Ivan
17.06.2017
21:25:25
Так что ждём аналог const функций из C++

Adam
17.06.2017
21:26:29
О, Береслав говорил что собираются сделать защиту от этого.
то есть перегрузки операторов += и -= для неизменяемых коллекций, скорее всего, будут выпилены?

Konstantin
17.06.2017
21:26:33
Adam
17.06.2017
21:27:11
Ivan
17.06.2017
21:27:12
то есть перегрузки операторов += и -= для неизменяемых коллекций, скорее всего, будут выпилены?
Не, скорее всего как в плюсах, можно пометить функцию как ридонли

Igor
17.06.2017
21:27:31
то есть перегрузки операторов += и -= для неизменяемых коллекций, скорее всего, будут выпилены?
Это не правильно. Скоро у нас будут персистентные коллекции и для них нужны +/-

Adam
17.06.2017
21:30:51
Это не правильно. Скоро у нас будут персистентные коллекции и для них нужны +/-
и что ты имеешь в виду под персистентными коллекциями? Карринг чтоли?

Igor
17.06.2017
21:33:28
Этот прототип https://github.com/Kotlin/kotlinx.collections.immutable

Google
Adam
17.06.2017
21:35:23
Converts a read-only or mutable collection to an immutable one

«Коллекцию «только-для-чтения» в неизменяемую коллекцию?»

Ivan
17.06.2017
21:38:56
и что ты имеешь в виду под персистентными коллекциями? Карринг чтоли?
Не, есть такой вид структур данных - персистентные

Это когда ты при модификации получаешь копию

Igor
17.06.2017
21:41:12
так list уже так себя ведёт
Погугли ещё structural sharing

Ivan
17.06.2017
21:45:48
так list уже так себя ведёт
Разве? Там вся идея что после модификаций структуры ты можешь получить все предыдущие её версии

Вот кстати норм статья на тему https://m.habrahabr.ru/post/113585/

Axrorxo'ja
17.06.2017
22:39:27
вообще это не в этот чат)
не я котлинрх ползовался

а что неправильно эмитится?
oncreate он одну раз емитится ето буг платформе оказался

Ivan
18.06.2017
08:51:39
oncreate он одну раз емитится ето буг платформе оказался
Я извиняюсь, а у вас русский неродной?

Axrorxo'ja
18.06.2017
09:55:39
Я извиняюсь, а у вас русский неродной?
Аха ? сорян, мне нимножка трудно трудно по синтаксису, но постараюсь

Boris
18.06.2017
09:56:16
подумалось, что сам для котлина можно заменить на функцию+тайпалиас, будет тоже самое, так что действтиельно без сам-а можно легко обойтись, чот мне это в голову не приходило. Правда для хорошей совместимости из джавы, наверное параметр хотелось бы видеть тоже типа алиаса, а не Function1 какой-нибудь

Adam
18.06.2017
09:59:24
Всем привет! В чём разница между emptyList<Int> и listOf<Int> ?

Adam
18.06.2017
10:00:39
Ни в чём.
зачем тогда разрешать перегрузку listOf без параметров?

Quantum Harmonizer
18.06.2017
10:01:39
зачем тогда разрешать перегрузку listOf без параметров?
Был, допустим, listOf("something"). Убрал something — получил пустой список. Вроде удобно. emptyList() — более явная форма.

Ivan
18.06.2017
10:06:11
Google
Ivan
18.06.2017
10:06:28
Скажи спасибо, что емптиинтлист() отдельно не сделали)

Sasha
18.06.2017
10:13:42
whalemare
18.06.2017
10:15:47
Скажи спасибо, что емптиинтлист() отдельно не сделали)
удобство же ты ничего не понимаешь!!1

Adam
18.06.2017
10:19:57
удобство же ты ничего не понимаешь!!1
listOF, mutableListOF, setOF, но emptyList (без "of") - очень интуитивно

Adam
18.06.2017
10:21:10
А nullableListOf есть?
listOf<Int?> или null в качестве одного из аргументов указать

Sasha
18.06.2017
10:22:02
listOF, mutableListOF, setOF, но emptyList (без "of") - очень интуитивно
of там зачем? emptyList - констатация факта

Ivan
18.06.2017
10:22:21
Я уже не помню как коллекции в котлине инитятся. Там по моему листа джавовского нет?

Adam
18.06.2017
10:22:38
of там зачем? emptyList - констатация факта
всё равно пишется emptyList<T>. emptyListOf<Int> на первый взгляд лучше смотрится

Sasha
18.06.2017
10:25:39
of как бы намекает что может быть не empty.

Михаил
18.06.2017
10:27:19
Adam
18.06.2017
10:44:55
Кстати, IDE могла бы выдавать предупреждение при обращении через квадратные скобки к emptyList, но не выдаёт

Adam
18.06.2017
10:49:21
А зачем вообще нужен программист?
чтобы размышлять, как лучше читается и смотрится, как лучше форматировать и внедрять ?

Ivan
18.06.2017
10:50:28
Adam
18.06.2017
11:59:21
кстати, в java 'void' отсылает только к единичному типу, но не может использоваться как значение, так?

Руслан
18.06.2017
12:31:04
есть ссылка?
что-то я пытаюсь сам найти и не нахожу, видимо перепутал, в его аккаунте было видео со спрингом

https://twitter.com/DailyKotlin/status/876415379765170177

Gradle Script Kotlin переименовали в Gradle Kotlin DSL

Adam
18.06.2017
12:33:58
То, что в kotlin переменной можно присвоить два типа пустых значений - это ok? Похоже, что вывод типа для переменных отменяется. Придётся явно указывать, чтобы случайно не записать Unit.

Google
Adam
18.06.2017
12:43:15
что значит два пустых типа
худший дизайн из возможных это означает, как javascript

Михаил
18.06.2017
12:43:39
Одна история оуительнее другой

Pavel Shackih
18.06.2017
12:44:12
классно конечно отвечать сразу выводами, но вопрос был про null и Unit?

Adam
18.06.2017
12:45:08
современная тенденция - это отказ от null или проверка во время компиляции. Но представлять 2 типа для пустых значений - Null и undefined, null и Unit, который можно записать в переменную, а не просто пометить процедуру, - это бред

Михаил
18.06.2017
12:46:04
Unit и null разные вещи абсолютно

Admin
ERROR: S client not available

Adam
18.06.2017
12:46:53
Unit и null разные вещи абсолютно
знаю, но Unit должен указывать на процедуру, а не являться потенциальным значением

Pavel Shackih
18.06.2017
12:46:54
тут не правильное понимаение, видимо аналогия из джавы, Unit это не пустой значение, это не null

Igor
18.06.2017
12:49:10
знаю, но Unit должен указывать на процедуру, а не являться потенциальным значением
Почему в kotlin приходит народ из js, а не scala/хаскеля - такие странные вопросы задают ?

Pavel Shackih
18.06.2017
12:50:00
почему он должен указывать на процедуру? можно взглянуть на это по другому, что любая функция возвращет значение, в случае если Unit не обязательно указывать это значение вот и всё

Pavel Shackih
18.06.2017
12:52:15
это не важно, сетит или нет, меняет состояние или чистая, она все равно будет возвращать какое-то значение, если это возвращаемое значение не имеет значение в контексте, то Unit

Pavel Shackih
18.06.2017
12:53:16
кому не должен?)

Adam
18.06.2017
12:54:29
так Unit и void это не одно и тоже
В чём концептуальная разница? Unit - единичное множество и void - единичное множество. Только Unit может ещё значением являться. Вопрос: зачем?

так Unit и void это не одно и тоже
кстати, kotlin doc явно указыаает, что типа Unit соотв. void в java

Pavel Shackih
18.06.2017
12:59:08
соотносится, но разница всё же есть. ответ про то зачем есть значение для Unit от Бреслава: Why Unit has a value (i.e. is not the same as Nothing): because generic code can work smoothly then. If you pass Unit for a generic parameter T, the code written for any T will expect an object, and there must be an object, the sole value of Unit.

Google
Igor
18.06.2017
13:00:01
В чём концептуальная разница? Unit - единичное множество и void - единичное множество. Только Unit может ещё значением являться. Вопрос: зачем?
Давай так, в Kotlin есть лябмды ()->… и то что всегда есть юнит, позволяет передавать в них процедуры. К примеру можно в RxJava вызвать Single.fromCallable { println() } (на java это невозможно) и на выходе будет Single<Unit> В том же C#, пришло налепить делегатов Action<T> и Func<T> вместо одного Func<T> тк у них нет Unit. В Kotlin лямбды сделаны консистентно (в отличие еще и от Java с ее Callable<T>/Runnable и тд)

Adam
18.06.2017
13:00:37
это не важно, сетит или нет, меняет состояние или чистая, она все равно будет возвращать какое-то значение, если это возвращаемое значение не имеет значение в контексте, то Unit
как в детском саду: сопрограммы можно условно разделить на те, что возвращают результат, отличный от void (функции) и те, что абстрагируют какие-то операции (процедуры). Про последние говорят, что они что-то сеттят

Igor
18.06.2017
13:15:37
Статья про типы в Kotlin, кому еще непонятно - можно ознакомиться. http://natpryce.com/articles/000818.html И кстати в Scala очень похожая система типов, можно их ресурсы почитать. Типа: https://stackoverflow.com/a/13539858/7235355

Igor
18.06.2017
13:23:31
Пожалуйста (бонус: найди 10 различий с Kotlin) def main(args: Array[String]): Unit = { val x: Unit = Unit println(x) }

Quantum Harmonizer
18.06.2017
13:45:45
Скажи спасибо, что емптиинтлист() отдельно не сделали)
Кстати, стоило бы из intArrayOf(no-arg) возвращать один и тот же объект.

Не смотрел?
Ой, нет. Внезапно настали выходные ?

Dmitry
18.06.2017
15:47:04
Quantum Harmonizer
18.06.2017
15:47:47
Adam
18.06.2017
15:52:16
emptyList не создает новый объект
т. е. возвращается синглтон?

Quantum Harmonizer
18.06.2017
15:52:38
т. е. возвращается синглтон?
См. исходники, есть object EmptyList.

Adam
18.06.2017
15:53:53
ключевое object и предоставляет вариацию синглтона - статический класс

Quantum Harmonizer
18.06.2017
15:55:05
ключевое object и предоставляет вариацию синглтона - статический класс
object — это именно синглтон, не статический класс.

Cargeh
18.06.2017
17:31:06
Такие диванные эксперты То что VM на андроидах отличаются от десктопных/серверных - вообще пофиг

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