@kotlin_lang

Страница 361 из 982
Artyom
07.10.2017
14:56:05
Ну в шарпах приватки с аксесорами начинаются с "_"

Artyom
07.10.2017
14:56:24
Видел такое в котлете где-то

Alexander
07.10.2017
14:57:20
Google
Alexander
07.10.2017
14:57:43
DarkMentat
07.10.2017
14:59:16
где?
Для backing field только вроде

хоть и выглядит неконсистентно

Artyom
07.10.2017
15:01:32
https://kotlinlang.org/docs/reference/properties.html#backing-properties

Да

Backing field

Quantum Harmonizer
07.10.2017
16:26:36
Backing property. С точки зрения языка у backing field нет имени.



Vic
07.10.2017
20:38:42
Copy?

Quantum Harmonizer
07.10.2017
20:39:18
это разные классы

в один маппится прямо из БД, в другой — уже после разрешения связей

Vic
07.10.2017
20:40:05
А что смущает?

Quantum Harmonizer
07.10.2017
20:41:10
то, что объект проживает несколько микросекунд лишь для того, чтобы переродиться :)

Google
Vic
07.10.2017
20:43:47
ЭТО НОРМА во всякой функциональщине

Dibro
07.10.2017
20:43:54
то, что объект проживает несколько микросекунд лишь для того, чтобы переродиться :)
а что если возвращать что-то вроде Pair<LessonTree, List<TaskTree>>, так как в новые объекты добавляется только lesson

Quantum Harmonizer
07.10.2017
20:44:40
а что если возвращать что-то вроде Pair<LessonTree, List<TaskTree>>, так как в новые объекты добавляется только lesson
я мапплю это в такую структуру, которую мне удобно отдать в шаблонизатор

Dibro
07.10.2017
20:44:56
ну ладно

Quantum Harmonizer
07.10.2017
20:44:57
не очень хочется в шаблоне писать ${pair.first....}

Кстати, кто пробовал DSL для HTML? Годно как шаблонизатор?

Кто-нибудь пробовал двинуться дальше и сделать DSL для CSS? :)

Sasha
07.10.2017
21:06:45
Кто-нибудь пробовал двинуться дальше и сделать DSL для CSS? :)
Я пытался, но вышло не очень. Руки из жопа.) Есть либа, названия к сожалению не помню.

Quantum Harmonizer
07.10.2017
21:07:55
Я пытался, но вышло не очень. Руки из жопа.) Есть либа, названия к сожалению не помню.
Меня просто привлекает идея избавиться от шаблонизаторов, котрые ломают статический анализ и рассматривают объекты как мапки.

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

Boris
07.10.2017
21:10:33
основа цсс-а это определение имен, а в котлине для оперделения имен в общем случае строки, да еще в грейдле придумали делегаты использовать

хотя может это и не страшно

Igor
07.10.2017
21:13:55
У тебя какая-то бета idea или котлина? У меня типы не пишет для exp-functions.

Igor
07.10.2017
21:14:52
Понятно, лучш буду типы ставить ?

Boris
07.10.2017
21:15:47
Quantum Harmonizer
07.10.2017
21:25:32
Boris
07.10.2017
21:30:19
> в грейдле придумали делегаты использовать О чём это? Не уловил.
Делегат знает своё имя, поэтому можно написать val test by delegateFactory() и имя test будет доступно в рантайме

Google
Хекс
08.10.2017
10:27:12
кто-то имел практику изучения Kotlin in action с хреновым инглишем? без замороченных языковых (англ) конструкций книга?

Anton
08.10.2017
10:29:11
она легко читается

и она есть на русском если все совсем плохо

Хекс
08.10.2017
10:30:16
да у меня только на английском, а на русском заказывать бомж

Anton
08.10.2017
10:33:21
ну короче легко читается энивей

Хекс
08.10.2017
10:33:40
Окай

Anton
08.10.2017
10:34:24
а кто как екстеншен функции группирует

Boris
08.10.2017
10:35:08
я бы посоветовал начать с просмотра документации и прохождения коанов, если хочется сократить количество чтения английского текста

Boris
08.10.2017
10:36:07
там всё довольно коротко и внятно описано и минимальное прктическое применение этого всего можно коанами получить

Anton
08.10.2017
10:36:28
ну тоесть как раньше в джаве утильные классы собирали

в старые добрые времена

Boris
08.10.2017
10:38:23
а кто как екстеншен функции группирует
для маленьких проектов у меня есть utils.kt где лежат все утилитные экстеншены, если эксеншены нужны для локального использования часто их прямо в классе приватными объявляю

если utils.kt разрастается, то выношу оттуда по смыслу, вот на днях вынес все методы для работы с Path например

Vic
08.10.2017
10:39:17
Субпакет util, там файлы-агрегаторы экстеншенов по смыслу

Boris
08.10.2017
10:39:45
если же делаешь какой-то дсл, то он сразу ложиться отдельным пакетом или как минимум файлом

Anton
08.10.2017
10:39:53
ну я тоже также делаю. значит все ок) спасибо

Boris
08.10.2017
10:42:28
вот кстати о Path было бы очень удобно если бы в стд-либе жвмовской были экстеншены для работы с ними, а то вот эти Files.(..) немного задалбывают

Google
Boris
08.10.2017
10:43:15
и всё равно пишешь эти экстеншены

Igor
08.10.2017
11:12:26
Надо написать скрипт (или плагин) который из произвольных JavaUtils классов - генерит Kotlin-Extensions

Vic
08.10.2017
11:13:29
Нет, надо джава интероп улучшить.

Чтобы все статик методы с первым аргументом нужного типа, можно было через дот нотацию вызвать

Это ж так и устроено в экстеншенах

Igor
08.10.2017
11:14:29
Да лан, тебе что мало ? val path = Path(“”) path.let(::delete) .let(::deleteIfExists) …

Vic
08.10.2017
11:15:51
А передача аргументов?

Лет уже не подходит

А ведь если бы так сделали сразу, то не пришлось бы в стандартной библиотеке тонны экстеншенов дублировать из всяких StringUtils

В общем, недосмотр

Igor
08.10.2017
11:23:33
В общем, недосмотр
Ага и на любом double или int мне бы выплевывалось куча методов из java.lang.Math и еще кучи несвязанных либ - спасибо не надо

Vic
08.10.2017
11:24:56
Требуется более умное поведение подсказчика )

Сейчас же тоже есть проблема с засорением пространства экстеншенами

В скале это решается импортом только нужных имплиситов

Igor
08.10.2017
11:29:42
Ну так мы не скале ? и нет тут имплиситов, только ext-functions Вообщем не надо тащить в язык, то что можно сделать по другому и так же удобно.

Vic
08.10.2017
11:31:21
Я только рассуждаю. Идея с плагином для генерации меня смущает тем, что придется перегенерять при обновлении версии либы

(утил класса)

Было бы неплохо найти серебряную пулю в подходе и запилить такое.

Alexander
08.10.2017
11:46:06
Исплиситы и на скале рекомендуется юзать только когда вариантов других нет :)

Vic
08.10.2017
11:48:02
Смотря какие

Google
Vic
08.10.2017
11:49:17
Всякие Rich-обертки, Ops - это в постоянном обиходе

Руслан
08.10.2017
12:55:27
Если все джавовые методы превратяться в экстеншены, да и в джаве не всегда первый параметр есть this

Можно конечно придумать специальный XML... Но зачем если можно просто написать в нужном месте свой экстеншен?

Vic
08.10.2017
13:07:52
Если все джавовые методы превратяться в экстеншены, да и в джаве не всегда первый параметр есть this
Только статики, и не все, а только если утилити класс заимпортировать специальным вариантом импорта. Надо придумать такой )

import StringUtils.* as extensions Типа такого

Хекс
08.10.2017
13:10:16
Много линуксоидов из котлинистов?

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