Oleg
05.05.2018
13:44:01
всякая магия с переносом строк, то фигурную нельзя в начале ставить, то переносить на новую строку, бред какой-то
Quantum Harmonizer
05.05.2018
14:50:45
Дженериков нет == прост в изучении и подходит только для новичков.
В этой нише, ИМХО, гораздо круче Rust и Kotlin-Native.
Сергей
05.05.2018
17:18:07
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
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
Evgeniy
06.05.2018
14:25:01
Oleg
06.05.2018
14:27:59
Так мыж говорим про тип возврата, а это вы пытаетесь Any как аргумент передать
Evgeniy
06.05.2018
14:37:28
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, но хотел на всякий случай спросить, не считается ли это говнокодом? Или есть какие-то альтернативы?
Quantum Harmonizer
06.05.2018
20:18:49
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
Щерба
07.05.2018
06:48:20
Всем привет!Подскижите с чем это связано в компонете простисал fun inject (app:App)
?
Quantum Harmonizer
07.05.2018
06:50:09
Щерба
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
Щерба
07.05.2018
06:54:09
Как решить это? Не подскижите?
Quantum Harmonizer
07.05.2018
06:54:29
Костя
07.05.2018
07:31:32
Я слышал что GoLang же для бэка, android dev уже находят время и серваки для себя пишут сразу ? фуллстек-мобайл ? )))
Quantum Harmonizer
07.05.2018
07:39:29
Костя
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 будут ошибки
Quantum Harmonizer
07.05.2018
07:45:18
Костя
07.05.2018
07:45:49
хм.. ладно я на досуге сам попробую написать, тут уже на уровне слухов это
проверю тогда
но я примерно также думал
Quantum Harmonizer
07.05.2018
07:47:37
Единственое, что может пойти не так — отсутствие стдлиб: в aar/jar она не пакуется, а вот при использовании maven-репозитория подтягивается.
Решается добавлением стдлибы в проект. То же самое происходит, если библиотека зависит от любой другой библиотеки.
Костя
07.05.2018
08:09:00
Google
Quantum Harmonizer
07.05.2018
08:09:58
Костя
07.05.2018
08:10:25
нужно всё же чтобы она была запакована на мой взгляд
Quantum Harmonizer
07.05.2018
08:11:58
Костя
07.05.2018
08:12:36
Quantum Harmonizer
07.05.2018
08:13:00
Костя
07.05.2018
08:18:18
Quantum Harmonizer
07.05.2018
08:18:51
Костя
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, имхо
Quantum Harmonizer
07.05.2018
09:50:55
Костя
07.05.2018
09:51:31
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
что это изменит ?
Quantum Harmonizer
07.05.2018
09:53:49
Google
Костя
07.05.2018
09:54:08
указывать stdlib лучше явно
Quantum Harmonizer
07.05.2018
09:54:40
Костя
07.05.2018
09:56:22
там есть все существующие версии
ну как я понял, мне подгружало версию не последнию и был конфликт в котлин плагином, смотри тогда, я указываю в своей либе зависимость на stdlib, заливаю её на jcenter, чувак ставит её, у него в проекте другая версия stdlib, что мы получаем ? нужно юзать exclude ?
Quantum Harmonizer
07.05.2018
09:57:35
Костя
07.05.2018
09:58:56
Quantum Harmonizer
07.05.2018
09:59:28
Костя
07.05.2018
10:00:10
нужно писать было exclude в gradle, неужели сейчас не так уже..
Не могут обе либы потянуться, без jigsaw это невозможно.
сейчас поигрался с этим, получается вообще интересная ситуация, в aar своя stdlib и проект её не видит, проект видит только либу добавленную непосредственно в него и всё.. интересно.. то есть не берет либу старшей версии тоже..
Quantum Harmonizer
07.05.2018
10:29:58
Костя
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