@kotlin_lang

Страница 198 из 982
Dmitriy
20.06.2017
09:22:55
обычный день, ничего необычного

Quantum Harmonizer
20.06.2017
09:23:02
несите стикер с огнетушителем)

Denis
20.06.2017
09:24:20
val == read-only
ну по сути - иммутабельное жи

Quantum Harmonizer
20.06.2017
09:24:26
Google
Konstantin
20.06.2017
09:24:34
Denis
20.06.2017
09:24:36
О_о

Quantum Harmonizer
20.06.2017
09:24:41
ну по сути - иммутабельное жи
val значит только то, что туда нельзя писать

Konstantin
20.06.2017
09:24:56
Оно дает возможность изменять сам объект, но не даст ничего сделать со ссылкой на него

Dmitriy
20.06.2017
09:24:57
val == нет set

Konstantin
20.06.2017
09:25:32
Настоящую иммутабельность возможно завезут позже, т.к. за нее довольно много голосов, если мне память не изменяет

Konstantine
20.06.2017
09:25:32
Valерий

Ivan
20.06.2017
09:25:43
О_о
ну ты понял, везде есть геттеры и сеттеры, но если они тебе не нужны, придумывай валы, аннотации и консты. это называется инструменты не позволяющие стрельнуть себе в ногу)

Denis
20.06.2017
09:26:02
И один хуй смотреть сорцы на предмет "а хули оно так возвращает"

Konstantin
20.06.2017
09:26:14
Да блин, это естественное развитие идей.

Ivan
20.06.2017
09:26:18
подытожу, котлин отличная штука, но налабилити с геттерами это от лукавоого.

Quantum Harmonizer
20.06.2017
09:26:28
Зато позволяющие из val динамически ответ возвращать
бялд, да потому что это геттер, который можно использовать, как вздумается

Google
Konstantin
20.06.2017
09:26:48
Чисто концептуально это нифига не геттер, так-то

Ivan
20.06.2017
09:26:49
вот просто полярные решения, сделать классы файнал и паблик по умолчанию и сделать геттеры с налабилити.

Denis
20.06.2017
09:27:07
public final увидел раз - все, оно будет одно и тоже записанное в него

А не гадать что "блят, тут другое вылезло"

Хватит гореть короч)

Quantum Harmonizer
20.06.2017
09:27:35
public final увидел раз - все, оно будет одно и тоже записанное в него
val увидел без переопределённого геттера — всё, будет одно и то же

Denis
20.06.2017
09:27:55
Igor
20.06.2017
09:28:04
public final увидел раз - все, оно будет одно и тоже записанное в него
говоря точнее - пока идет запись, может быть и не тем же (long & отсутствие thread-safety вроде как могут это продемонстрировать)

Denis
20.06.2017
09:28:27
Там можно не только ногу, но и голову отстрелить одной пулей

Igor
20.06.2017
09:29:38
Там можно не только ногу, но и голову отстрелить одной пулей
тому кто умудритья так ошибку словить ногу с головой отстреливать нужно

Boris
20.06.2017
09:29:46
нпе это вопрос дисциплины, а не языка.
утечки памяти в С это вопрос дисциплины, а не языка ?

Konstantin
20.06.2017
09:29:55
Почему это?
Ну свойства как идея же это не про поля и геттеры-сеттеры. То есть, обычно оно реализуется через них, но концептуально, насколько я понимаю, это все же нечто другое

Quantum Harmonizer
20.06.2017
09:30:52
Ну свойства как идея же это не про поля и геттеры-сеттеры. То есть, обычно оно реализуется через них, но концептуально, насколько я понимаю, это все же нечто другое
Свойство — это любые данные, которые можно заполучить (и записать). Собственно, реализуются они через заполучатор (и записатор) ?

Konstantin
20.06.2017
09:32:53
При этом свойство может быть и без поля как такового

Quantum Harmonizer
20.06.2017
09:33:31
Конечно.

Konstantin
20.06.2017
09:38:00
То есть, если в контектсе java обычно есть некоторое поле с геттером/сеттером и есть еще какие-то методы именно на заполучение или запись данных, то в контексте свойств мы все это будем делать разными свойствами

Именно свойствами

Google
Konstantin
20.06.2017
09:38:11
А методы уже будут именно методами.

whalemare
20.06.2017
09:39:25
Надо Егора позвать сюда, он вам расскажет и за ООП и за геттеры

Konstantin
20.06.2017
09:40:05
Не, не надо. У нас тут промискуитет в плане идей и подходов:D

Quantum Harmonizer
20.06.2017
09:41:45
I hate it :)

нинада

Denis
20.06.2017
10:00:35
Кстати, на счет налабл переменных. В Swift есть аж 3 варианта 1) Налабл (как и в Котлине класс помечается знаком "?") 2) Не налабл (как и в Котлине класс ни чем не помечается) 3) В начале налл но присваивать можно только не налл значения. Работа с такой переменной идет как с не налабл (класс помечается знаком "!") Иосники, конечно, все еще плюются на счет такого подхода, мол "Напридумавали всяких вопросиков и восклицательных! Нипанятна!". Но как по мне так очень удачное решение.

Konstantin
20.06.2017
10:04:33
Да, похоже на lateinit

Denis
20.06.2017
10:05:40
Похоже. Только lateinit не добавить к параметру метода

И как котлин поведет себя если я захочу проверить lateinit переменную на null значение?

Quantum Harmonizer
20.06.2017
10:07:07
И как котлин поведет себя если я захочу проверить lateinit переменную на null значение?
Ошибка компиляции. Всегда подразумевается, что оно инициализировано.

Denis
20.06.2017
10:10:55
А это как понимать?
Так и понимать)) Параметр какбы может быть null но скорее всего нет, поэтому можно не ставит каждый раз восклицательные знаки)

Denis
20.06.2017
10:16:11
Denis
20.06.2017
10:16:29
Обычно такими переменными пользуются для хранения ссылок на View. Так как они при создании ViewController еще не определены.

Quantum Harmonizer
20.06.2017
10:16:30
Для даггера, лол
Параметры функции, чёрт побери!

Google
Quantum Harmonizer
20.06.2017
10:17:01
Похоже. Только lateinit не добавить к параметру метода

Михаил
20.06.2017
10:17:16
вы о чем вообще?

Quantum Harmonizer
20.06.2017
10:17:36
о какой-то штуке из свифта, которой страшно пользоваться)

Denis
20.06.2017
10:18:05
Ну это по сути вариант переменной как из обычной Java где при работе с ней не нужно каждый раз ставить !!

Quantum Harmonizer
20.06.2017
10:18:42
Кстати, на счет налабл переменных. В Swift есть аж 3 варианта 1) Налабл (как и в Котлине класс помечается знаком "?") 2) Не налабл (как и в Котлине класс ни чем не помечается) 3) В начале налл но присваивать можно только не налл значения. Работа с такой переменной идет как с не налабл (класс помечается знаком "!") Иосники, конечно, все еще плюются на счет такого подхода, мол "Напридумавали всяких вопросиков и восклицательных! Нипанятна!". Но как по мне так очень удачное решение.

Admin
ERROR: S client not available

Quantum Harmonizer
20.06.2017
10:18:47
! из swift

Михаил
20.06.2017
10:19:16
Denis
20.06.2017
10:20:53
И еще момент. Когда вы работаете с классами Java параметры методов помечены как нулабл. А если в Swift работать с классами Objective-C то параметры методов помечены знаком !

Denis
20.06.2017
10:23:19
lateinit в параметрах - это образно. lateinit для параметров там нет)

Кстати. Меня мучает еще один вопрос. Почему два восклицательных?

Quantum Harmonizer
20.06.2017
10:24:16
Кстати. Меня мучает еще один вопрос. Почему два восклицательных?
один — это обратить значение булева выражения

Denis
20.06.2017
10:25:10
Когда обращают, восклицательный знак ставят перед выражением а не после него

!boolValue

Dibro
20.06.2017
10:26:15
ну два тип чтоб еще хуже смотрелось чем один

ну два тип чтоб еще хуже смотрелось чем один
так как это плохо и потенциально небезопасно

Google
Denis
20.06.2017
10:27:57
if (!!boolValue!!) ... ?

Igor
20.06.2017
10:28:00
Кстати. Меня мучает еще один вопрос. Почему два восклицательных?
Скажи спасибо что не sure как было раньше https://blog.jetbrains.com/kotlin/migrating-sure/

Михаил
20.06.2017
10:36:30
Скажи спасибо что не sure как было раньше https://blog.jetbrains.com/kotlin/migrating-sure/
Так имхо красивее. Пойду себе запилю такой экстеншн

Dmitriy
20.06.2017
10:55:38
действительно, можно же было 1 восклицательный знак )

Nikita
20.06.2017
12:23:53
напомните пожалуйста, как называется фича (1 слово перед название функцией вроде бы), которая позволяет объявить екстеншн метод, который может вызываться без точки, например 1 plus 2

Nikita
20.06.2017
12:24:34
infix
точно! спасиб

Kylych
20.06.2017
13:18:56
Нубский вопрос, как Scope создается в котлине?

даггер

Михаил
20.06.2017
13:20:26
также

ток вместо @interface - annotation class

Руслан
20.06.2017
14:08:54
@catswillrise https://vimeo.com/221264980/b3ac7f9001

Vic
20.06.2017
14:09:21
?

Sasha
20.06.2017
14:38:18
народ, а кто юзает RxKotlin? Его как довесок надо тащить если у меня и джава код есть или rxjava можно выпилить? ps. вопрос снят.)

Denis
20.06.2017
15:04:33
Посаны

А стримы котлина норм?

А то чет по бенчам - говнище какое-то

Руслан
20.06.2017
15:05:39
Пруфы или небыло

Lost
20.06.2017
15:06:19
что тут

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