Size: a a a

Kotlin Community

2020 November 10

VL

Vladyslav Lavreniuk in Kotlin Community
👍
источник

VS

Vladimir Sitnikov in Kotlin Community
А есть какой-нибудь подход, чтобы обращаться к сущностям созданных внутри «вложенных» блоков?

Система создаёт таблицы в базе. Хочу написать DSL и тесты. Указываем какие таблицы должны создаться, оно создаёт (или нет), а потом assert на тему «есть ли таблица»

Пример «чего хочется» :

@Test fun simpleTable() {
   val config = tableConfig {
       // Или val users by tables.creating {
       val users = table("users") {
           column("id")
           column("name")
       }
   }

   db.installConfig(config)

   assertTableExists(config.tables.users) // <— вот как тут обратиться к users?
   assertTableExists(config.tables.users.columns.name)


Вроде, Gradle в подобных случаях кодогенерацией занимается. Без неё как-нибудь можно или нет?
Ну, понятно, что можно config.tables["users"], но переименуешь сущность и всё сломается 😕
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladyslav Lavreniuk
Здраствуйте, хочу сделать переменную-обертку типа этого:
var myItem: MyItem?
   get() = cache.myItem
   set(value) {
       cache.myItem = value
   }


есть ли способ сделать этот код ещё проще?) (может что то вроде анотации)
Я пытаюсь избежать повторения кода каждый раз, когда нужно будет сделать подобную обертку
var myItem by cache::myItem
источник

AL

Alexander Levin in Kotlin Community
саша сок #KotlinGang
var myItem by cache::myItem
Уже подсказали всё :)
источник

с#

саша сок #KotlinGang... in Kotlin Community
да, не увидел)
источник

с#

саша сок #KotlinGang... in Kotlin Community
можно как-то потребовать, чтобы класс был @Serializable ?

я хочу делать что-то такое

object Storage : KDataStorage() {
   val name by property<String>("default")
   val object by property<User?>()
}

или придётся доверять пользователю?
или может лучше требовать сериализатор ещё?
источник

АО

Алексей Овсянников... in Kotlin Community
саша сок #KotlinGang
можно как-то потребовать, чтобы класс был @Serializable ?

я хочу делать что-то такое

object Storage : KDataStorage() {
   val name by property<String>("default")
   val object by property<User?>()
}

или придётся доверять пользователю?
или может лучше требовать сериализатор ещё?
Последнее
источник

АО

Алексей Овсянников... in Kotlin Community
Если вам передадут сериализатор - вы сможете гонять сериализацию типа в любом направлении и поддерживаемом формате
источник

с#

саша сок #KotlinGang... in Kotlin Community
эх, тогда уже так красиво не будет
источник

АО

Алексей Овсянников... in Kotlin Community
Ну я не знаю, что вы делаете и как это будет использоваться:) опять же, если это всего лишь вопрос аллокации/единоразового переопределения - не страшно (мне кажется)
источник

BV

Boris Vanin in Kotlin Community
Vladimir Sitnikov
А есть какой-нибудь подход, чтобы обращаться к сущностям созданных внутри «вложенных» блоков?

Система создаёт таблицы в базе. Хочу написать DSL и тесты. Указываем какие таблицы должны создаться, оно создаёт (или нет), а потом assert на тему «есть ли таблица»

Пример «чего хочется» :

@Test fun simpleTable() {
   val config = tableConfig {
       // Или val users by tables.creating {
       val users = table("users") {
           column("id")
           column("name")
       }
   }

   db.installConfig(config)

   assertTableExists(config.tables.users) // <— вот как тут обратиться к users?
   assertTableExists(config.tables.users.columns.name)


Вроде, Gradle в подобных случаях кодогенерацией занимается. Без неё как-нибудь можно или нет?
Ну, понятно, что можно config.tables["users"], но переименуешь сущность и всё сломается 😕
Я так думаю, что без декларации нельзя, конечно можно генерировать как в грейдле, но для базы всё сложнее.
источник

k

kiro in Kotlin Community
Всем привет
Можете посоветовать мне книги по Spring boot на котлине.
На русском или на английском без разницы.
источник

GR

Gor Rushanyan in Kotlin Community
kiro
Всем привет
Можете посоветовать мне книги по Spring boot на котлине.
На русском или на английском без разницы.
А по нему аж книги нужны? Там вроде как не столько изменений чтоб было сильно отличимо от джавы.
источник

k

kiro in Kotlin Community
Но если нет по котлину, то я бы прочитал любую книгу по spring boot в целом
источник
2020 November 11

KS

Kirill Sinyuk in Kotlin Community
Подскажите, есть ли разница в поведении методов .roundToInt() и .toInt() в применении к Double(если не брать во внимание случай с NaN)
источник

PE

Pavel Erokhin in Kotlin Community
Kirill Sinyuk
Подскажите, есть ли разница в поведении методов .roundToInt() и .toInt() в применении к Double(если не брать во внимание случай с NaN)
1.6.roundToInt().also(::println)
1.5.roundToInt().also(::println)
1.4.roundToInt().also(::println)
1.6.toInt().also(::println)
1.5.toInt().also(::println)
1.4.toInt().also(::println)
221111
источник

KS

Kirill Sinyuk in Kotlin Community
Pavel Erokhin
1.6.roundToInt().also(::println)
1.5.roundToInt().also(::println)
1.4.roundToInt().also(::println)
1.6.toInt().also(::println)
1.5.toInt().also(::println)
1.4.toInt().also(::println)
221111
спасибо
источник

Д

Денис in Kotlin Community

fun a{
 fun b{}

 b()
}


Получить доступ к b при тестировании можно как нибудь?
источник

PE

Pavel Erokhin in Kotlin Community
без рефлексии, нет
источник

Д

Денис in Kotlin Community
Пичально
источник