@KotlinLangRu

Страница 64 из 90
Oleg
05.05.2018
13:44:01
всякая магия с переносом строк, то фигурную нельзя в начале ставить, то переносить на новую строку, бред какой-то

Quantum Harmonizer
05.05.2018
14:50:45
Дженериков нет == прост в изучении и подходит только для новичков. В этой нише, ИМХО, гораздо круче Rust и Kotlin-Native.

Quantum Harmonizer
05.05.2018
17:19:18
Google
Quantum Harmonizer
05.05.2018
17:19:43
раст так-то и нельзя назвать простым, он вынесет весь мозг проверками безопасности :)

Сергей
05.05.2018
17:20:44
Все остальное уже было в других языках

Anatoly
05.05.2018
17:59:14
Ааа.. Каким образом к андроду относчтся раст и го?Или это уже за нишей андройда?

Alexander
05.05.2018
18:34:38
Golang относится то что есть юзабельный gomobile

Про Раст относительно агдройда ничего не слышал

Quantum Harmonizer
05.05.2018
19:35:04
Golang относится то что есть юзабельный gomobile
Это оно? https://github.com/golang/go/wiki/Mobile

Evgeniy
06.05.2018
13:49:34
Ребят всем привет. Можете подсказать, возможно ли сделать, то что я хочу. Дело в том что есть несколько разных перегруженных методов setCellValue(Value), в которых Value имеет тип String, Double, Date, Calendar и т.д. Которые мне нужно вызвать с разными типами Value. Тип Value можно получить вызовом Value.cellTypeEnum. Смогу ли я написать одну функцию getCellValue(Value) которая определит тип Value и вернет значение в нужном типе String, Double В С++ это вроде как шаблоны, а что использовать в Kotlin? Думаю это нужно как то переписать) так как нужно чтобы она возвращала тип fun getCellValue(cell: XSSFCell?):Any { return when (cell?.cellTypeEnum) { CellType.NUMERIC -> cell.numericCellValue CellType.STRING -> cell.stringCellValue else -> "ERROR" } } это не верно)

Oleg
06.05.2018
13:53:09
Можно сделать как в библиотеке JSON то есть несколько методов getCellValueString getCellValueBoolean getCellValueInt ...

Ну а вообще, в котлине есть Generics, конечно же



но имхо в вашем случае это не очень удобно

Google
Evgeniy
06.05.2018
13:57:49
Спасибо за наводку, почитаю. Как я понимаю хочу просто один раз написать getCellValue и чтобы Kotlin сам их насоздавал под разные типы)

Oleg
06.05.2018
14:06:09
Так а что мешает поставить тип возврата Any, и возвращать как есть?

Alexander
06.05.2018
14:18:08
Oleg
06.05.2018
14:27:59
Так мыж говорим про тип возврата, а это вы пытаетесь Any как аргумент передать

Evgeniy
06.05.2018
14:37:28
Так мыж говорим про тип возврата, а это вы пытаетесь Any как аргумент передать
тогда я что-то не понимаю) я возвращаю тип any со значением fun getCellValue(cell: XSSFCell?):Any { return when (cell?.cellTypeEnum) { CellType.NUMERIC -> cell.numericCellValue CellType.STRING -> cell.stringCellValue else -> "ERROR" } } а мне нужно как-то налету передавать тип) в функцию setCellValue

Oleg
06.05.2018
14:39:15
Короче. Фигня это всё. Делайте много функций!

Evgeniy
06.05.2018
14:39:18
то есть setCellValue(cell.numericCellValue) для CellType.NUMERIC и setCellValue(cell.stringCellValue) для CellType.STRING

:D

Oleg
06.05.2018
14:39:32
Не надо так

Pirate
06.05.2018
19:31:39
Всем привет. Ребят, расскажите, есть класс, в котором есть свойство. Это свойство инициализируется в методе. Знаю про модификатор lateinit , а так же про зануление. Скачать пользуюсь lateinit, но хотел на всякий случай спросить, не считается ли это говнокодом? Или есть какие-то альтернативы?

iTEYE
07.05.2018
04:46:21
Инициализировать в конструкторе.
Т.е. делать так предлагаешь? class someClass(val foo: String? = "bar") { fun foobar(): String? { return this.foo; } } val fooBar = someClass("Hello World"); val fooBarNulled = someClass(); fun main(args: Array<String>) { println(fooBar.foobar()) println(fooBarNulled.foobar()) }

Quantum Harmonizer
07.05.2018
05:33:03
Т.е. делать так предлагаешь? class someClass(val foo: String? = "bar") { fun foobar(): String? { return this.foo; } } val fooBar = someClass("Hello World"); val fooBarNulled = someClass(); fun main(args: Array<String>) { println(fooBar.foobar()) println(fooBarNulled.foobar()) }
Слишком сферический пример в вакууме. У меня сразу возникает вопрос, зачем строка нуллабельна и зачем ей значение по умолчанию.

Щерба
07.05.2018
06:48:20
Всем привет!Подскижите с чем это связано в компонете простисал fun inject (app:App)



?

Щерба
07.05.2018
06:50:36
В строке ошибка, на скрине видно

Quantum Harmonizer
07.05.2018
06:51:02
Google
Щерба
07.05.2018
06:51:36
Ну да, и что?
В смысле ну да и что? Ошибка там!

Quantum Harmonizer
07.05.2018
06:52:11
В смысле ну да и что? Ошибка там!
Ну вижу. Есть какой-то вопрос с этим связанный?

Щерба
07.05.2018
06:52:43
Да, почему компилятор выдает ошибку ?

Quantum Harmonizer
07.05.2018
06:53:16
Да, почему компилятор выдает ошибку ?
Потому что свойству типа AppComponent? нельзя присвоить значение вырадения типа Unit (а-ля void).

Щерба
07.05.2018
06:54:09
Как решить это? Не подскижите?

Quantum Harmonizer
07.05.2018
06:54:29
Как решить это? Не подскижите?
Не пытаться присвоить Unit в свойство.

Костя
07.05.2018
07:31:32
Я слышал что GoLang же для бэка, android dev уже находят время и серваки для себя пишут сразу ? фуллстек-мобайл ? )))

Quantum Harmonizer
07.05.2018
07:39:29
Я слышал что GoLang же для бэка, android dev уже находят время и серваки для себя пишут сразу ? фуллстек-мобайл ? )))
Golang — это язык общего назначения. Прижился на бэке, но с таким же успехом может использоваться в десктопе или в Java-приложениях через JNI.

Костя
07.05.2018
07:42:32
Quantum Harmonizer
07.05.2018
07:42:52
Костя
07.05.2018
07:44:06
Нет, вообще незачем, есть же котлин.
кстати столкнулся с таким нюансом что если пишешь либу какую для андройд приложений, то лучше делать её на java, т.к. в java проектах либа на котлин без поддержки котлина работать не будет (

и это обидно чуть-чуть (

Quantum Harmonizer
07.05.2018
07:44:38
Костя
07.05.2018
07:45:07
почему не правда, просто добавив aar будут ошибки

Костя
07.05.2018
07:45:49
хм.. ладно я на досуге сам попробую написать, тут уже на уровне слухов это

проверю тогда

но я примерно также думал

Quantum Harmonizer
07.05.2018
07:47:37
Единственое, что может пойти не так — отсутствие стдлиб: в aar/jar она не пакуется, а вот при использовании maven-репозитория подтягивается. Решается добавлением стдлибы в проект. То же самое происходит, если библиотека зависит от любой другой библиотеки.

Google
Quantum Harmonizer
07.05.2018
08:09:58
Костя
07.05.2018
08:10:25
не делать fatJar, который запакует туда стдлибу
а если в другом проекте её не будет, как тогда быть

нужно всё же чтобы она была запакована на мой взгляд

Quantum Harmonizer
07.05.2018
08:11:58
а если в другом проекте её не будет, как тогда быть
Залить на maven чтобы она подтянулась автоматически. Джарник с зависимостями — не ок.

Костя
07.05.2018
08:12:36
Quantum Harmonizer
07.05.2018
08:13:00
Костя
07.05.2018
08:18:18
да, проще всего — jitpack и bintray.
понял погляжу, но как это решит проблему stdlib ?

Quantum Harmonizer
07.05.2018
08:18:51
понял погляжу, но как это решит проблему stdlib ?
в pom.xml будет написано, что этой библиотеке нужна stdlib, и сборочная система её притащит

Костя
07.05.2018
08:18:54
моя либа будет юзать из maven репозитория stdlib ?

Quantum Harmonizer
07.05.2018
08:20:30
Sergey
07.05.2018
09:18:44
Коллеги, кто-нибудь может подсказать как проверить что KMutableProperty является List в каком либо его виде

Костя
07.05.2018
09:50:13
ну как-то так
тоже нюанс неочень есть, я когда делал проект на котлин и явно не прописал stdliи оно брало из maven но там была очень древняя версия, и оно ругалось что котлин плагин у меня обновленный а либа старая очень типо разные версии юзаются, пришлось ручками писать stdlib поэтому я склоняюсь к тому что или тянуть stdlib в свою полностью или писать на java, даже лучше на java, то что в мавен не последней версии и warning кидает конфликты мне потом при сборке, что я думаю тоже имеет значение.. Поэтмоу либы всё-таки лучше писать на java, имхо

Костя
07.05.2018
09:51:31
Не совсем правильный вывод. Либы лучше писать без зависимостей (если это возможно).
но в stdlib очень много всего, разве можно активно юзать kotlin без неё ?

Quantum Harmonizer
07.05.2018
09:51:46
Костя
07.05.2018
09:52:38
Без неё котлин невозможно юзать вообще.
ну и очевидно же что напрашивается мой вывод, писать либу на котлин неочень, разве нет ?

Quantum Harmonizer
07.05.2018
09:53:06
Костя
07.05.2018
09:53:29
Распространять либу джарниками — не очень.
это не влияет, можно и через jcenter распространить

что это изменит ?

Quantum Harmonizer
07.05.2018
09:53:49
что это изменит ?
то что стдлиба сама притянется

Google
Костя
07.05.2018
09:54:08
то что стдлиба сама притянется
блин, я же пишу, из мавен репо, верно ? там версия не актуальная и летят конфликты

указывать stdlib лучше явно

Quantum Harmonizer
07.05.2018
09:54:40
указывать stdlib лучше явно
лучше указывать явно != на котлине либы лучше не писать

Костя
07.05.2018
09:56:22
там есть все существующие версии
ну как я понял, мне подгружало версию не последнию и был конфликт в котлин плагином, смотри тогда, я указываю в своей либе зависимость на stdlib, заливаю её на jcenter, чувак ставит её, у него в проекте другая версия stdlib, что мы получаем ? нужно юзать exclude ?

Костя
07.05.2018
09:58:56
получаем то, что подтягивается более новая из этих двух, как я понимаю
если ручками не писать exclude, то как я понимаю будет конфликт, из-за того что в проект потянуться обе либы, хм..

Quantum Harmonizer
07.05.2018
09:59:28
Костя
07.05.2018
10:00:10
Не могут обе либы потянуться, без jigsaw это невозможно.
я помню точно были конфликты такие, если ставишь 2 либы, и они обе юзают одно и тоже

нужно писать было exclude в gradle, неужели сейчас не так уже..

Не могут обе либы потянуться, без jigsaw это невозможно.
сейчас поигрался с этим, получается вообще интересная ситуация, в aar своя stdlib и проект её не видит, проект видит только либу добавленную непосредственно в него и всё.. интересно.. то есть не берет либу старшей версии тоже..

Костя
07.05.2018
10:30:03
это ситуация с kotlin project и kotlin library(aar), для java тоже думаю попробывать поглядеть что будет

Quantum Harmonizer
07.05.2018
10:30:50
сейчас да
как же конфликты при сборке?

Костя
07.05.2018
10:30:53
залить в репо пока не дошел ещё, тоже сделаю, там акк че-то надо делать, или гитхабовский иметь акк, я уже всё это забыл )) юзаю bitbucket

Страница 64 из 90