Size: a a a

Kotlin Community

2020 September 06

ВЯ

Влад Якименко... in Kotlin Community
источник

IO

Iaroslav Orlov in Kotlin Community
в общем-то никак. если вам нужен такой конструктор, то неявно вы его объявить не можете
источник

ВЯ

Влад Якименко... in Kotlin Community
Iaroslav Orlov
в общем-то никак. если вам нужен такой конструктор, то неявно вы его объявить не можете
Ок, спасибо, просто иерархия не сложная получается, но просто что столько раз эти параметры дублируются, то я думал может я не знаю какой-то способ избежать этого
источник

IO

Iaroslav Orlov in Kotlin Community
Влад Якименко
Ок, спасибо, просто иерархия не сложная получается, но просто что столько раз эти параметры дублируются, то я думал может я не знаю какой-то способ избежать этого
ну в котлине нельзя
источник

IO

Iaroslav Orlov in Kotlin Community
Влад Якименко
Привет, кто-то может подсказать, можно ли как-то избежать дублирования кода в данном примере?
единственное, что можно избежать наследования. заменить отдельный класс на перечисление и тп
источник

ВЯ

Влад Якименко... in Kotlin Community
Кстати. как вариант и для енамов проперти добавить, спасибо за идею
источник

AN

Alexander Nozik in Kotlin Community
Влад Якименко
Привет, кто-то может подсказать, можно ли как-то избежать дублирования кода в данном примере?
Если объекты совсем однотипные и не имеют разных свойств, можно не использовать классы вообще, а помечать типа енумом
источник

AN

Alexander Nozik in Kotlin Community
Собственно, если они одинаковые, то это есть пример неправильного использования наследования
источник

ВЯ

Влад Якименко... in Kotlin Community
Alexander Nozik
Собственно, если они одинаковые, то это есть пример неправильного использования наследования
У меня там разные супертипы для компонентов и мне нужно будет засунуть их все в один список, а так как енам класс не может наследоватся, то у меня не получится выделить для них какой-то один интерфейс, чтобы сделать его дженериком для того списка, + декораторы
источник

AN

Alexander Nozik in Kotlin Community
Влад Якименко
У меня там разные супертипы для компонентов и мне нужно будет засунуть их все в один список, а так как енам класс не может наследоватся, то у меня не получится выделить для них какой-то один интерфейс, чтобы сделать его дженериком для того списка, + декораторы
Я говорю про случай, когда все эти классы отличаются только названием
источник

ВЯ

Влад Якименко... in Kotlin Community
Alexander Nozik
Я говорю про случай, когда все эти классы отличаются только названием
Ок, понятно, я просто сначала тоже подумал: во, енам, то что нужно, а потом понял что не смогу список создать...
источник

AN

Alexander Nozik in Kotlin Community
Влад Якименко
Ок, понятно, я просто сначала тоже подумал: во, енам, то что нужно, а потом понял что не смогу список создать...
Так енам надо просто полем сделать в классе
источник

ВЯ

Влад Якименко... in Kotlin Community
Alexander Nozik
Так енам надо просто полем сделать в классе
Типа в SaladComponent? Тогда будет сильно много енамов и овощи и соусы и т.д., и плюс те же декораторы
источник

AN

Alexander Nozik in Kotlin Community
Влад Якименко
Типа в SaladComponent? Тогда будет сильно много енамов и овощи и соусы и т.д., и плюс те же декораторы
Ну вы можете например сделать так:
object Spinach: Green

data class Component(green: Green, weiight: Double, price: Double)
источник

ВЯ

Влад Якименко... in Kotlin Community
Alexander Nozik
Ну вы можете например сделать так:
object Spinach: Green

data class Component(green: Green, weiight: Double, price: Double)
Хмм, кстати, почему нет, спасибо
источник

AN

Alexander Nozik in Kotlin Community
Вот кстати если говорить про фичи, было бы интересно получить оптимизацию синглетонов на уровне компилятора.
источник

S

Stanislav in Kotlin Community
❓вопрос ❓
написал бота на Kotlin в IDEA всё здорово работает. Теперь хочу его запустить на каком ни будь устройстве которое будет постоянно работать. и понял что не знаю как и где получить готовый файл. Я не особо знаток в этой теме (только учусь).
После моих изысканий пришел к тому что вроде как должен получить jar файл и его потом смогу запустить с помощью JVM на любом устройстве и мой бот в телеграмме будет работать.
добавил Artifacts который сгенерировал jar файл, но при попытке запустит получаю это
java telegramm-bot.jar
Error: Could not find or load main class telegramm-bot.jar

пробовал с компилировать но он выдаёт ошибку о том что в манифесте не указан основной класс. Но указать класс не могу потому что как я понял в java он должен называться class Main а у меня fun main() и когда я указываю свой файл main.kt он выделен красным.

Вопрос собственно следующий. Где я ошибся и в какую сторону копать=(
Спасибо за внимание и не судите строго.
источник

AM

Andrew Mikhaylov in Kotlin Community
Stanislav
❓вопрос ❓
написал бота на Kotlin в IDEA всё здорово работает. Теперь хочу его запустить на каком ни будь устройстве которое будет постоянно работать. и понял что не знаю как и где получить готовый файл. Я не особо знаток в этой теме (только учусь).
После моих изысканий пришел к тому что вроде как должен получить jar файл и его потом смогу запустить с помощью JVM на любом устройстве и мой бот в телеграмме будет работать.
добавил Artifacts который сгенерировал jar файл, но при попытке запустит получаю это
java telegramm-bot.jar
Error: Could not find or load main class telegramm-bot.jar

пробовал с компилировать но он выдаёт ошибку о том что в манифесте не указан основной класс. Но указать класс не могу потому что как я понял в java он должен называться class Main а у меня fun main() и когда я указываю свой файл main.kt он выделен красным.

Вопрос собственно следующий. Где я ошибся и в какую сторону копать=(
Спасибо за внимание и не судите строго.
Во-первых, java -jar my.jar.
Во-вторых, Gradle-проект?
источник

AN

Alexander Nozik in Kotlin Community
Stanislav
❓вопрос ❓
написал бота на Kotlin в IDEA всё здорово работает. Теперь хочу его запустить на каком ни будь устройстве которое будет постоянно работать. и понял что не знаю как и где получить готовый файл. Я не особо знаток в этой теме (только учусь).
После моих изысканий пришел к тому что вроде как должен получить jar файл и его потом смогу запустить с помощью JVM на любом устройстве и мой бот в телеграмме будет работать.
добавил Artifacts который сгенерировал jar файл, но при попытке запустит получаю это
java telegramm-bot.jar
Error: Could not find or load main class telegramm-bot.jar

пробовал с компилировать но он выдаёт ошибку о том что в манифесте не указан основной класс. Но указать класс не могу потому что как я понял в java он должен называться class Main а у меня fun main() и когда я указываю свой файл main.kt он выделен красным.

Вопрос собственно следующий. Где я ошибся и в какую сторону копать=(
Спасибо за внимание и не судите строго.
Давайте в @kotlin_start и копайте для начала в сторону gradle application plugin
источник

AM

Andrew Mikhaylov in Kotlin Community
Да, @kotlin_start — отличная мысль.
источник