@KotlinLangRu

Страница 49 из 90
Alex
13.02.2018
15:49:44
Здравствуйте. При изучении и работе с данным яп, стоит изучать java или без нее можно работать?

Kirill
13.02.2018
15:52:01
Можно и без джавы, но с точки зрения рынка труда пока что не имеет смысла, потому что чистых вакансий по Котлину пока что очень и очень мало.

Alex
13.02.2018
18:31:03
Спасибо)

Даниил
13.02.2018
20:35:50
Здравствуйте. При изучении и работе с данным яп, стоит изучать java или без нее можно работать?
я бы добавил, что имхо в основном всякие интересные (в том числе с точки зрения поиска работы) штуки касающиеся котлина – это не сам язык, а платформа (jvm и/или рантайм андроида, если не брать kotlin js/native) и экосистема вокруг неё (библиотеки, фреймворки, тулинг), а это у котлина ± такое же как у джавы

Google
Serezha
14.02.2018
12:52:48
А что бы такое почитать не про синтаксис Java а именно про платформу JVM, либы, идеология ?

stas
14.02.2018
14:23:12
Может кто подсказать в каких случаях нужно использовать lateinit ?

Аксенов
14.02.2018
14:25:08
Когда хочешь объявить переменную в классе, но не присваивать ей значение сразу

https://kotlinlang.ru/docs/reference/properties.html

Виталий
14.02.2018
16:46:21
а как определить инициализировалась ли переменная lateinit или нет, что бы начать с ней работать?

Виталий
14.02.2018
16:47:55
::lateinitVar.isInitialized
а если это массив ?

чет не работает

Quantum Harmonizer
14.02.2018
16:48:52
а если это массив ?
ничего не меняется

чет не работает
это очень плохое описание проблемы

Виталий
14.02.2018
16:49:33
ничего не меняется
ну вот к этому не могу прилипить lateinit var lines: List<String>

Quantum Harmonizer
14.02.2018
16:50:00
Google
Quantum Harmonizer
14.02.2018
16:50:12
Виталий
14.02.2018
16:51:49
Что значит «не могу прилепить»?
ну я с синтаксисом не особо еще , предположил что то типа такого надо if (List<String>::lines.isInitialized) а не то видать)

На заметку. Лист не массив.
у меня все что можно перебрать массив )))

Виталий
14.02.2018
16:55:10
перед двоиточием прям ничего не долно быть ? нелепо как то ((( и: Backing field of 'lateinit var lines: List<String>' is not accessible at this poin

Quantum Harmonizer
14.02.2018
16:56:55
перед двоиточием прям ничего не долно быть ? нелепо как то ((( и: Backing field of 'lateinit var lines: List<String>' is not accessible at this poin
Нет. Оператор :: служит для копания в метаданные. ::чтоНибудь эквивалентно this::чтоНибудь.

Виталий
14.02.2018
16:58:48
А вообще, зачем делать лист лейтинит? Можно же сразу создать пустой.
можно навреное )) но вот хотел с ленивой этой разобраться.. и чет не робит (

Виталий
14.02.2018
17:00:16
ну вообщем не компилиться такое (((

Quantum Harmonizer
14.02.2018
17:00:52
если мы не указываем this перед :: откуда она занет что это?
Он подразумевается. Так же точно, как можно написать println(someProperty) или println(this.someProperty).

Виталий
14.02.2018
17:01:37
lateinit не в классе а высшая или глобальная как там )

ну весь код ) и был

println(if (::lines.isInitialized) "no init" else lines)

Quantum Harmonizer
14.02.2018
17:03:11


Виталий
14.02.2018
17:04:55


странно

lateinit var lines: List<String>

Google
Виталий
14.02.2018
17:05:46
все тоже самое, находятся в разных файлах

котлин 1.2.10

Quantum Harmonizer
14.02.2018
17:07:18
Из другого файла и у меня не работает.

Виталий
14.02.2018
17:08:52
Из другого файла и у меня не работает.
хм, перенес в один файл, компилиться, но: Exception in thread "LWJGL Application" kotlin.UninitializedPropertyAccessException: lateinit property lines has not been initialized

вне класса перенес, но в один файл

Quantum Harmonizer
14.02.2018
17:09:47
хм, перенес в один файл, компилиться, но: Exception in thread "LWJGL Application" kotlin.UninitializedPropertyAccessException: lateinit property lines has not been initialized
Потому что если свойство инициализировано, ты пишешь no init, а если нет, то пытаешься добраться до него. Всё наоборот.

Quantum Harmonizer
14.02.2018
17:11:13
да, в одном файле работает, спасибо. это баг или так и должно быть?
Не знаю. Мне вообще lateinit кажется ужасным костылём, к которому обязывают плохие фреймворки.

stas
15.02.2018
10:29:26
Извините, я с регулярками редко работал, а тут понадобилось, походу. Можно ли сделать регулярку что бы она вырезала из текста вот такой кусочек "1988 Jun", а все что перед и после года с месяцем вырезало?) Ну само собой год и месяц могут быть разными)

Костя
15.02.2018
10:33:33
Извините, я с регулярками редко работал, а тут понадобилось, походу. Можно ли сделать регулярку что бы она вырезала из текста вот такой кусочек "1988 Jun", а все что перед и после года с месяцем вырезало?) Ну само собой год и месяц могут быть разными)
можно, в стиле 4 цифры_пробел_3_буквы, причем буквы могут входить в рендж какой-то, типо in {перечесление месяцев всех}, цифры я думаю тоже можно сделать как от до проверку

Сергей
16.02.2018
15:42:56
В Котлин есть функция random ?

iTEYE
16.02.2018
15:45:21
В Котлин есть функция random ?
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-math/random.html

Сергей
16.02.2018
15:47:02
Спасибо но это не совсем то

iTEYE
16.02.2018
15:48:20
Как так?

Quantum Harmonizer
16.02.2018
15:51:26
В Котлин есть функция random ?
В самом Kotlin — нет, в JDK есть.

Сергей
16.02.2018
15:52:00
iTEYE
16.02.2018
15:52:29
Ну это первая ссылка в Гугле если делать импорт из java.

Сергей
16.02.2018
15:54:04
да я что то это пропустил

Google
Сергей
16.02.2018
17:24:05
еще вопрос - как при нажатии на кнопку, показать 3 числа с интервалом в 1 секунду, а затем опять ожидать действия пользователя?

Сергей
16.02.2018
17:26:11
Android

Quantum Harmonizer
16.02.2018
17:26:44
Android
Что именно не получается, в чём конкретно вопрос?

Сергей
16.02.2018
17:28:02
пробую сделать "показ" через Handler.postDelay но он зацикливается

получается показывает числа с заданным интервалом но постоянно

Quantum Harmonizer
16.02.2018
17:28:33
пробую сделать "показ" через Handler.postDelay но он зацикливается
Я бы с помощью корутин сделал, например. Чтоб понять, в чём проблема, нужен код.

Сергей
16.02.2018
17:31:01
fun updateNumber() { val handler = Handler() val updateTask = object : Runnable { override fun run() { val r = Random().nextInt(intExample.size) txtNumber.text = r.toString() handler.postDelayed(this, 1000) } } handler.postDelayed(updateTask, 1000) }

Сергей
16.02.2018
17:33:25
вот что то не дойдет как его вызывать 3 раза

Quantum Harmonizer
16.02.2018
17:34:36
вот что то не дойдет как его вызывать 3 раза
добавить в анонимный runnable счётчик

Костя
16.02.2018
17:34:39
Если с хендлером то какой-то счётчик нужен, а так думаю есть что-то готовое уже

Типо выполнить код в другом потоке 3 раза

Сергей
16.02.2018
17:50:30
не получается))

Konstantin
16.02.2018
18:45:02
Сорри

Ivan
16.02.2018
19:31:08
Привет) Кто то может подсказать как можно в tornadofx биндить сложные объекты в ItemViewModel?

способ val property = bind(Class::property) для val objectProperty = bind(Class::objectProperty) не даёт желаемого результата До конца пока не разобрался как оно там работает что бы понять как надо

iTEYE
17.02.2018
13:31:40
Есть класс ActivityBase наследуемый от AppCompatActivity в нем есть функция fun showToast(msg: String) { Toast.makeText(this, msg, Toast.LENGTH_LONG).show() } Есть класс ActivitySecond: ActivityBase в нем хочу вызвать showToast("some text...") апликуха падает с Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference. В чем дело?

Страница 49 из 90