@kotlin_lang

Страница 555 из 982
Va
20.02.2018
17:50:32
Они readonly ?
да понятно, что там под капотом может чо угодно лежать я про сам интерфейс List

от я пень, MutableArray даже не существует сори, в школе двойка была по этой части

Igor
20.02.2018
17:53:15
да понятно, что там под капотом может чо угодно лежать я про сам интерфейс List
Это была отсылка в тому коммиту, где в документации переименовывали immutable коллекции в readonly

Google
Виталий
20.02.2018
17:57:08
от я пень, MutableArray даже не существует сори, в школе двойка была по этой части
у меня даже двойки не было, так как урок информатики за все обучение был раз 10 и то к компам подпускали ток на поводке... 94 год только поменяли спектрумы на маки

Frank
20.02.2018
19:51:35
привет, можно ли использовать sealed классы таким образом: sealed class A(val x: Int, val y: Int) data class B: A data class C: A тобишь, иметь один конструктор для всех дата классов?

Kirill
20.02.2018
19:52:05
а ты попробуй :)

и тебе компилятор всё скажет

Frank
20.02.2018
20:01:06
вижу что нет. У меня в джаве есть класс, у него enum поле, я хотел переписать на котлин таким образом, чтобы были разные классы на каждый enum, и избавиться от поля, конструкторы у них у всех одинаковые, если сделать sealed class и data class получается лапша из кучи одинаковых конструкторов, что-то типа такого: sealed class SubroutineDeclaration data class ConstructorDeclaration(val returnType: String, val name: String, val parameters: List<SubroutineParameter>, val body: List<Statement>): SubroutineDeclaration() data class FunctionDeclaration(val returnType: String, val name: String, val parameters: List<SubroutineParameter>, val body: List<Statement>): SubroutineDeclaration() data class MethodDeclaration(val returnType: String, val name: String, val parameters: List<SubroutineParameter>, val body: List<Statement>): SubroutineDeclaration()

Quantum Harmonizer
20.02.2018
20:02:05
можно же sealed class X(val a: A) class Y(a : A) : X(a)

Frank
20.02.2018
20:05:00
из-за кучи параметров всё равно получается не так красиво как хотелось бы, но спасибо

Vadim
21.02.2018
08:34:47
Почему котлин не видит статичный метод sleep() у Thread? val thisThread = Thread.currentThread() while (keep_alive === thisThread) { thisThread.sleep(25000) }

и напрямую тоже нельзя вызвать: Thread.currentThread().sleep(25000) ? Как можно "усыпить" текущий трэд в котлине ?

Vadim
21.02.2018
08:38:00
Thread.sleep(25000)
он так усыпит currentThread ?

Igor
21.02.2018
08:38:17
Да, читай доки

Vadim
21.02.2018
08:40:24
спасибо

Google
Nicholas
21.02.2018
08:42:56
Подскажите плес чатик по джаве

ну или мб тут подскажут, какой аналог Subscriber из RxJava есть в Akka

Igor
21.02.2018
08:44:22
Подскажите плес чатик по джаве
Глобальный поиск есть в телеграме ( @jvmchat @javastart )

Nicholas
21.02.2018
08:45:09
Глобальный поиск есть в телеграме ( @jvmchat @javastart )
спасибо (с собакой пытался искать, ничего не находило)

Quantum Harmonizer
21.02.2018
08:58:50
Thread.sleep(25000)
Нужно чтоб из Котлина он был deprecated :)

Igor
21.02.2018
08:59:48
Только если вместе с synchronized/lock/wait ?

Anton
21.02.2018
09:27:15
Всем привет! Мы устраиваем митап по котлину 15-го марта https://leroy-merlin.timepad.ru/event/668941/

Andrew
21.02.2018
09:31:45
Нужно чтоб из Котлина он был deprecated :)
И предлагало заменять на runBlocking { delay(n) }? ?

Quantum Harmonizer
21.02.2018
09:37:34
И предлагало заменять на runBlocking { delay(n) }? ?
Надо как-то показывать, что runBlocking — тоже костыль)

Andrew
21.02.2018
09:39:12
Инспекшн, не советующий его использовать вне main и тестов?)

Quantum Harmonizer
21.02.2018
09:40:25
Да и в мейн не вижу причины. Асинк/лонч же не в демон-потоках работает?

Roman
21.02.2018
09:44:20
Andrew
21.02.2018
09:50:01
Или если речь о том, что выходить из мэин не зазорно -- как exit code сообщать после выполнения?

Andrew
21.02.2018
10:00:26
Quantum Harmonizer
21.02.2018
10:04:08
Как раз все треды CommonPool-а демоны.
А, тогда надо создавать свой пул для основной задачи.

Roman
21.02.2018
10:04:58
А, тогда надо создавать свой пул для основной задачи.
Тогда ему надо не забыть сделать shutdown()

runBlocking все же удобнее...

Konstantine
21.02.2018
10:39:51
Мы можем при инициализции массива обращаться к предыдущим элементам?

Google
Egor
21.02.2018
10:42:55
Нет

Хотя это интересный кейс

Konstantine
21.02.2018
10:49:41
Да вот, мне надо для игры 3 в ряд генерировать поле. Там двойной массив цветов, но чтобы генерить поле нужно проверять уже сгенеренные элементы, чтобы не было совпадений.

На java это изи бризи, а в котлине как сделать не знаю.

Alexey
21.02.2018
10:52:58
В котлине можно сделать также, просто надо делать мутабельные массивы

Egor
21.02.2018
10:53:09
Проинициализировать массив нулями, а потом пройтись по нему ещё раз?

Просто через тот конструктор, что с числом элементов и лямбдой генерации, точно нельзя

Igor
21.02.2018
10:56:10
Egor
21.02.2018
10:57:02
Орлол, всегда думал, что в котлине только мутабельные массивы

Иммутабельные*

Alexey
21.02.2018
10:58:09
Каммон

А какого хрена бы там был метод set?

Egor
21.02.2018
10:59:18
Да черт его знает, никогда не пробовал редачить котлинские коллекции

Хотя [] меня всегда напрягало

Quantum Harmonizer
21.02.2018
10:59:40
массивы — не коллекции

Alexey
21.02.2018
11:02:09
Прям в доке, черным по белому http://kotlinlang.org/docs/reference/basic-types.html#arrays

Konstantine
21.02.2018
11:15:13


Вот как такой (вроде сисярп) код примерно перенести на котлин?

Чтобы инитить массив смотря на пред. элементы

Bogdan
21.02.2018
11:16:52
Чтобы инитить массив смотря на пред. элементы
можно, тебе сказали сделать мутабельный масив, или какой-там решайте отдельно, и иди по нему

Google
Konstantine
21.02.2018
11:17:22
можно, тебе сказали сделать мутабельный масив, или какой-там решайте отдельно, и иди по нему
Это отдельно инициализация и отдельно уже проход для переделки. Не особо как-то.

Konstantine
21.02.2018
11:18:22
ты про что?
Про то, что так как сказали - мы сначала инициализируем массив с дефолтными значениями, а потом уже пробегаем по нему и меняем их как нам надо. Выше в примере там сразу инициализация идет как надо.

Bogdan
21.02.2018
11:19:25
Про то, что так как сказали - мы сначала инициализируем массив с дефолтными значениями, а потом уже пробегаем по нему и меняем их как нам надо. Выше в примере там сразу инициализация идет как надо.
может откорою тайну но везде все инится нулями, выделяемая помять очищается, когда будешь делать масив не передавай дуда ничего кроме размера

Konstantine
21.02.2018
11:20:05
может откорою тайну но везде все инится нулями, выделяемая помять очищается, когда будешь делать масив не передавай дуда ничего кроме размера
Я тут не про внутреннее устройство, а про то, что нет способа это сделать на котлине красиво. Отдельно инициализация - отдельно полноценное заполнение. Шляпа это.

Anton
21.02.2018
11:20:45
а то что там сложность n^3не шляпа?)

Egor
21.02.2018
11:20:53
...Котлин, ин да ферст плейс, не предназначался под игры

Anton
21.02.2018
11:21:47
почему квадрат?

for for while

Konstantine
21.02.2018
11:22:15
вы пытаетесь впихнуть не впихуемое
Почему то на других языках вполне себе впихуемое)

Egor
21.02.2018
11:22:16
While один раз проходит, это фейк и говнокод

Почему то на других языках вполне себе впихуемое)
Как вариант - пробовать интероп с джавой

Я слабо представляю как, правда

Konstantine
21.02.2018
11:24:34
Как вариант - пробовать интероп с джавой
Да я уже пробегусь, просто надеялся, что есть решение из коробки.

Alexey
21.02.2018
11:26:36
Почему то на других языках вполне себе впихуемое)
В других языках это делается точно тажке, сначало создаётся массив заполенный пустыми значениями, а потом инициализируется

Драму какую то развели на ровном месте

Google
Konstantine
21.02.2018
11:27:21
Не нужно отделять это всё.

Alexey
21.02.2018
11:27:34
пфффф

Egor
21.02.2018
11:27:58
Чё пацаны

Egor
21.02.2018
11:28:09
ыжжж

Bogdan
21.02.2018
11:28:13
Не нужно отделять это всё.
те же строчки пишутся на шарпе

Egor
21.02.2018
11:28:24
Тут что, стикеры нельзя слать?

Руслан
21.02.2018
11:28:49
прикинь. и обсуждать это тоже тут не стоит

Bogdan
21.02.2018
11:28:56
Но там это пишется приятнее.
выкинь нафиг котлин и пиши начем хочешь, не *би мозг, тебя не заставляем

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