@kotlin_lang

Страница 462 из 982
Dmytro
20.12.2017
16:03:58
это под капотом
нужно это знать и понимать :]

Quantum Harmonizer
20.12.2017
16:04:15
стоп, в котлине есть примитивы?
На уровне языка — нет.

Bogdan
20.12.2017
16:04:23
но от примитивов не откажешься, т.к. они памяти меньше жрут
все нормально, под капотом это все равно машинный код

нужно это знать и понимать :]
ну с джавы это понятно и так

Google
Bogdan
20.12.2017
16:05:16
На уровне языка — нет.
ну я вот про то, если вносить const только для отдельных типов то это странно

Quantum Harmonizer
20.12.2017
16:06:08
ну я вот про то, если вносить const только для отдельных типов то это странно
const — это compile-time-константа, а это понятие виртуальной машины. Так что, используя этот модификатор, немного заглядываешь под капот.

Bogdan
20.12.2017
16:06:47
блин начинают делать примиси, это плохо

Dmytro
20.12.2017
16:07:01
т.е. работа const может быть другой в нативном варианте ? к примеру на iOs ?

Quantum Harmonizer
20.12.2017
16:07:09
const — это compile-time-константа, а это понятие виртуальной машины. Так что, используя этот модификатор, немного заглядываешь под капот.
Интересно, что в аннотациях, кроме примитивов и строк, можно их массивы, а также классы и enum.

блин начинают делать примиси, это плохо
Примеси — это плохо, когда речь идёт о trait/mixin ? А здесь нам просто даётся немного контроля за байт-кодом.

Quantum Harmonizer
20.12.2017
16:08:40
а потом статик завезут, гетеры сетеры
не стоит бояться, это всё и так есть в котлине)

Bogdan
20.12.2017
16:09:03
ну опять же где-то внутри

я их то не пишу

я не думаю как код себя поведет в компиляции по натив, джава, или джава скрипт

Google
Quantum Harmonizer
20.12.2017
16:10:16
ну опять же где-то внутри
геттеры/сеттеры присутствуют вполне явно, companion — тот же static за маленкими исклюениями

Bogdan
20.12.2017
16:10:24
const — это compile-time-константа, а это понятие виртуальной машины. Так что, используя этот модификатор, немного заглядываешь под капот.

где?

Quantum Harmonizer
20.12.2017
16:10:25
где?
не те примеси)

Bogdan
20.12.2017
16:10:48
))

? animufag ?
20.12.2017
16:10:50
эх

насчёт того что выше: смешно слышать про примитивы в мультиплатформенном языке

Bogdan
20.12.2017
16:12:25
насчёт того что выше: смешно слышать про примитивы в мультиплатформенном языке
и про джава штуки, котлин язык который компилируется под разное и по разному

Quantum Harmonizer
20.12.2017
16:13:13
Bogdan
20.12.2017
16:14:13
можешь и вручную писать
ну значит иди в джаву

п отвоему 0 разницы

Quantum Harmonizer
20.12.2017
16:14:37
ну значит иди в джаву
Нет, это значит, что язык предоставляет тебе такую возможность.

Bogdan
20.12.2017
16:14:58
делегаты хорошая штука

а переопределения гетеров\сетеров не совсем смотрится

Quantum Harmonizer
20.12.2017
16:15:45
Bogdan
20.12.2017
16:15:47
это просто тон хорошо написаной програмы

Quantum Harmonizer
20.12.2017
16:16:13
это просто тон хорошо написаной програмы
Хороший тон — использовать те инструменты языка, которые уместны в данном случае.

Bogdan
20.12.2017
16:16:22
но отлично работает
в джаве раньше все отлично было до часа Х

Google
Dmytro
20.12.2017
16:16:33
и это поять же не совсем хорошо
ну не знаю. Не вижу проблем с геттерами и сеттерами в Java. К тому же посмотри на популярность Javy, и сколько ей лет. В этом нет проблем.

Bogdan
20.12.2017
16:16:57
Хороший тон — использовать те инструменты языка, которые уместны в данном случае.
не совсем, тебе язык позволяет писать в одну строчку но ты ведь так не пишеь

я так надеюсь

Dmytro
20.12.2017
16:17:10
то что инной подход популярен в других языках, не значит что абсолютно верный

Quantum Harmonizer
20.12.2017
16:17:20
в джаве раньше все отлично было до часа Х
В Java всё никогда не было отлично. И сейчас далеко не всё плохо. Java была, есть и ещё долго останется годным языком.

Bogdan
20.12.2017
16:18:05
Dmytro
20.12.2017
16:18:11
Большая часть андроида написана на Java, и переписывать на Котлин его не собираются :]

Quantum Harmonizer
20.12.2017
16:19:01
кто спорит, но ты почитай чужой код, и не 5 трок, а проект на классов 500+
Он разный. Кто-то обмазывается AbstractWtfInitializerFactory, кто-то пишет хорошо и понятно. В Котлине то же самое.

Bogdan
20.12.2017
16:20:12
Он разный. Кто-то обмазывается AbstractWtfInitializerFactory, кто-то пишет хорошо и понятно. В Котлине то же самое.
тут не поспоришь, и я не говорю что JB что-то делаю не то, я про то что не стоит увлекатся

извиняюсь за товтологию

Igor
20.12.2017
16:20:53
в джаве раньше все отлично было до часа Х
Что за час “X”? Когда скала появилась?

Bogdan
20.12.2017
16:21:02
нет

Quantum Harmonizer
20.12.2017
16:21:36
В подвале клуба любителей тавтологии обнаружили интерфейс с абстрактными открытыми публичными методами.

Bogdan
20.12.2017
16:22:19
Что за час “X”? Когда скала появилась?
Х - это некое абстрактное время, периуд, ново-введение, в котором начинаешь сомневатся в правильном развития языка, или что-то типа того

Bogdan
20.12.2017
16:23:02
у каждого свое

Valentin
20.12.2017
16:23:29
Всем привет, на codewars попался вопрос как сделать конструктор через extension функции, долго бился над решением но так и не придумал, есть у кого идеи?

Igor
20.12.2017
16:23:55
Экстеншен к чему?

Valentin
20.12.2017
16:24:09
к классу для которого надо сделать конструктор

Google
Valentin
20.12.2017
16:24:45
есть у нас Item(i:Int) а надо Item(i:Int,j:Int)

не меняя сам класс

Quantum Harmonizer
20.12.2017
16:25:26
Bogdan
20.12.2017
16:25:28
я правильно понял

Quantum Harmonizer
20.12.2017
16:25:43
я правильно понял
что ты правильно понял?

Bogdan
20.12.2017
16:25:55
имя_класса.Item(параметры)

хотя нет

Valentin
20.12.2017
16:27:09
As we all know, Kotlin supports something called extension methods, which means you can add some methods to some existing classes. In this Kata, you should make some extension constructor. For example, you can add a constructor to kotlin.Int that accepts a String and parse the string to int. You should add such extension constructor to kotlin.Int, kotlin.Long, kotlin.Double.

Admin
ERROR: S client not available

Quantum Harmonizer
20.12.2017
16:28:19
Можно сделать operator-extension к companion.

? animufag ?
20.12.2017
16:28:45
перегрузить invoke

но что-то не знаю насколько это сработает

Quantum Harmonizer
20.12.2017
16:29:27
operator fun SomeClass.Companion.invoke?

Valentin
20.12.2017
16:29:30
вариант с фабрикой и компаньоном я пробовал

Bogdan
20.12.2017
16:29:32
перегрузить invoke
переопределения класса

Valentin
20.12.2017
16:29:32
kotlin.Int(it.toString())

Quantum Harmonizer
20.12.2017
16:29:37
Valentin
20.12.2017
16:30:06
kotlin.Int(it.toString())
это тестовый код

Bogdan
20.12.2017
16:30:13
что?
ты про компанйонов или сам класс, может тебя не понял

Google
? animufag ?
20.12.2017
16:31:49


забавно что это работает



Bogdan
20.12.2017
16:33:17
хм, круто, полезная ифа, вот щас сам решил попробывать поигратсяс этим

Valentin
20.12.2017
16:33:50
я тоже не знал

попробую

Bogdan
20.12.2017
16:33:53
Quantum Harmonizer
20.12.2017
16:33:58
забавно что это работает
да, операторами можно очень много ног отстрелить при необходимости

Vladimir
20.12.2017
16:34:01
Зачем так сложно? fun Int(source: String): Int = source.toInt()

Quantum Harmonizer
20.12.2017
16:34:18
Зачем так сложно? fun Int(source: String): Int = source.toInt()
Потому что в тестовом коде — kotlin.Int

Bogdan
20.12.2017
16:35:17
Зачем так сложно? fun Int(source: String): Int = source.toInt()
это обычная функция, а не функция разшерения

не думал что бод Companion идет отдельный класс

Valentin
20.12.2017
16:36:07
про отдельный класс я знал) а вот про invoke нет

Valentin
20.12.2017
16:37:25
таки сработало)

Ivan
20.12.2017
18:10:27
забавно что это работает
Мне вот интересно, такие возможности языку дали случайно или специально. Похоже на пазлер или типа того.

Bogdan
20.12.2017
18:12:40
Ivan
20.12.2017
18:23:12
не совсем, тут все логично, я вот конструкторы для интерфейсов делал
Да это же страшное дело) 1000 и 1 способ как запутать всех своих разработчиков. До прода врядли стоит такие вещи допускать

Bogdan
20.12.2017
18:24:01
одни интерфейс, разные реализации, но они очень маленькие

но это больше для либ

чем продакшена

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