@kotlin_lang

Страница 147 из 982
Dmitry
24.05.2017
09:18:29
Всем спасибо за ответы

Руслан
24.05.2017
09:19:10
Задавай-те ваши ответы

Михаил
24.05.2017
09:21:39
+++

Google
Kostya
24.05.2017
09:21:39
@Lustridor говорилось же, что полная поддержка с 3 версии вот и решил поставить

Михаил
24.05.2017
09:21:45
нуу

тебе нае* :)

Kostya
24.05.2017
09:22:17
зря ставил?

Михаил
24.05.2017
09:22:20
достаточно плагин котлиновский поставить. единственное отличие в том в новой альфе, что теперь этот плагин будет предустановлен

Владислав
24.05.2017
09:22:21
Ага

Kostya
24.05.2017
09:22:40
понятно

ладно сношшу :)

Nikita
24.05.2017
09:32:27
е-мое

как правильно создавать интент с конструктором для startActivity? var intent = Intent(this, SearchActivity::class.java) var intent2 = Intent(this, javaClass<SearchActivity>()) 1 или 2 вариант?

Владислав
24.05.2017
09:33:20
Ну первый ок вроде

Google
Denis
24.05.2017
09:33:29
достаточно плагин котлиновский поставить. единственное отличие в том в новой альфе, что теперь этот плагин будет предустановлен
"единственное отличие" где-то написано в официальных источниках, или это предположение?

Nikita
24.05.2017
09:35:16
Ну первый ок вроде
действительно, не сразу в документации нашел нужные строки

просто не сразу допер как создать ссылку на класс, еще и java..

Nikita
24.05.2017
09:36:55
inline fun <reified T: Any> Context.makeIntent() = Intent(this, T::class.java) - конечно же
то есть где то в Utill классе определить такую функцию и использовать ее повсемеестно?

Dibro
24.05.2017
09:37:43
ну да

Igor
24.05.2017
09:38:06
то есть где то в Utill классе определить такую функцию и использовать ее повсемеестно?
У нас utils-файлы, а вообще это я так для примера (так что up to you)

правильно – SearchActivity.intent(context) :P
Это благадоря плагину kotlin-android или что? У меня так не получается из коробки.

Denis
24.05.2017
09:39:57
Denis
24.05.2017
09:40:20
хотя вариант @angmarr тоже вполне норм. но пока активити не нужны параметры

Igor
24.05.2017
09:40:38
нет, просто в классе активити добавляешь метод ;)
Это шутка? Или у тебя там тайный билд kotlin 2.0 что ли)) Или это просто метод из compain object

Denis
24.05.2017
09:41:17
Это шутка? Или у тебя там тайный билд kotlin 2.0 что ли)) Или это просто метод из compain object
даблииин. ну я имел в виду что у своей активити добавляешь статический метод

чтобы вызывать SearchActivity.intent(context, param1, param2), и оно само уже параметры добавляло внутрь Intent

Igor
24.05.2017
09:42:46
даблииин. ну я имел в виду что у своей активити добавляешь статический метод
OK, недавно Бреслав рассказывал что думает над static-extension-methods (расширения для типов), но это пока просто идеи.

Nikita
24.05.2017
09:43:12
Хм. Создал Util.kt с одной функцией, указанной выше. Но новый метод не доступен. Будем читать доки

Google
Михаил
24.05.2017
09:44:05
это же жесть

Dibro
24.05.2017
09:45:33
да и смысл в этом

Михаил
24.05.2017
09:47:49
кстати там была речь raw параметров типа. оно не планируется7

?

Nikita
24.05.2017
09:50:31
импортни его в файле где используешь этот метод
разобрался кажется. Выглядит сексуально

даже не знаю что и лучше - фабричный метод (по старинке) в activity/fragment или что то подобное ...

Artur
24.05.2017
09:58:27
.mapValues { entry -> entry.value.sumBy { oi -> oi.total.intValueExact() } } подскажите, какой есть аналог sumBy для BigDecimal?

Igor
24.05.2017
09:59:58
это типа чтоб статик функции приписывать классам?)
Ну там тайпклассы, что бы монады пилить)) Хотя похоже что они остановились с расширением языка (коррутины и все). И теперь сконцентрировались на инфраструктуре, типа тулинга и разных платформ (js/native)

Nikita
24.05.2017
09:59:58
Нет
почему нет? Можешь обяснить, если не составит труда?

Ivan
24.05.2017
10:01:12
Можно сделать через дженерик

Ivan
24.05.2017
10:01:45
И будет типо startactivity<BlaBla>()

Как в анко

Это спрятать в роутер и все ок

Если нужно передавать параметры,то да,логику в companion object пихать

Если логика сложнее чем 1-2 kv

Denis
24.05.2017
10:03:19
Нет
лаконично

Ivan
24.05.2017
10:04:41
И снова нет :)

Для такого кейса вообще не нужно ничего писать

Google
Ivan
24.05.2017
10:04:56
Тупо дженерик

Но не простой

Igor
24.05.2017
10:05:13
Если нужно передавать параметры,то да,логику в companion object пихать
Ой, только не надо тут холивары про роутеры и android “архитектуру”

Nikita
24.05.2017
10:05:22
выходит в котлине "извращаться" гораздо проще? Например немного видоизменив функцию указанную выше я получил следующее: inline fun <reified T: Any> Context.startActivity() { val intent = Intent(this, T::class.java) startActivity(intent) } И теперь могу ее использовать для...экономии пары строк?

Ivan
24.05.2017
10:05:39
Да

Более идиоматично

Admin
ERROR: S client not available

Nikita
24.05.2017
10:06:04
идиоматично для Котлина

Ivan
24.05.2017
10:06:05
И ты южаешь фичи языка

А не сидишь на джаве

Nikita
24.05.2017
10:06:15
но что то как то так дико это выглядит)

Igor
24.05.2017
10:07:44
выходит в котлине "извращаться" гораздо проще? Например немного видоизменив функцию указанную выше я получил следующее: inline fun <reified T: Any> Context.startActivity() { val intent = Intent(this, T::class.java) startActivity(intent) } И теперь могу ее использовать для...экономии пары строк?
Это первый шаг, через который проходят kotlin-неофиты. Они рожают +100500 таких методов, про которые никто кроме них не знает (в отличие от Android API). На втором шаге, они удаляют большинство и понимают что нужно себя ограничивать.

Ivan
24.05.2017
10:09:58
Лол,вы просто джависты недобитые

Надо сразу монады затягивать к котлину и тогда норм становится все

Руслан
24.05.2017
10:13:14
Бреслав сказал что монады не нужны

Ivan
24.05.2017
10:13:40
Это он так тролит

Igor
24.05.2017
10:14:14
Бреслав сказал что монады не нужны
Может тайп-классы? Хотя монады тоже не нужны))

Руслан
24.05.2017
10:15:49
Может тайп-классы? Хотя монады тоже не нужны))
Вот value types появятся - заживем, остальное не нужно в общем-то)

Михаил
24.05.2017
10:41:35
Google
Igor
24.05.2017
10:44:40
а как их можно применить?
Что за вопрос, разве это не очевидно? Реальный пример: у меня игруля и там куча Point(x,y,z) и они очень хреново расположены в памяти и приходится всякие object-pool юзать, что бы поганый android-GC не трогать. Не говоря про всякие float/long и дженерик коллекции (там боксинг на боксинге)

Nikita
24.05.2017
10:58:22
И ты южаешь фичи языка
Я вот тут подумал, а чем это будет отличаться от обычного класса со статическим методом который делает то же самое?

ну ты же наверное не в одном месте это будешь юзать, правильно? если у тебя две активити, то тут конечно перебор.
Да, безусловно. Но можно же практически таа же сделать ра джаве. Правда не уверен что это будет "идиомно"

Igor
24.05.2017
11:02:22
Я вот тут подумал, а чем это будет отличаться от обычного класса со статическим методом который делает то же самое?
На уровне байт-код, тем что это все заинлайнится+reified generic. Хотя это если используешь inline, иначе ничем. На уровне IDEA - “контрол+пробел” те подсказки, тк IDEA ищет даже незаимпортированные функции (усиливает зависимость на JB).

Gregory
24.05.2017
12:02:00
Я вот тут подумал, а чем это будет отличаться от обычного класса со статическим методом который делает то же самое?
Extension методы и inline fun помогают здорово уменьшить количества кода, сохранив при этом высокую производительность.

Руслан
24.05.2017
16:21:51
Почему следует полностью переходить на Kotlin / Хабрахабр https://m.habrahabr.ru/company/mailru/blog/329294/

Quantum Harmonizer
24.05.2017
16:24:57
Выглядит как обычная статья/презенташка по Kotlin, такая же, как и все :)

? animufag ?
24.05.2017
16:29:24
Выглядит как обычная статья/презенташка по Kotlin, такая же, как и все :)
я думаю кто-то сделал эту картинку с дружко и решил что это неплохой повод написать статью

Umren
24.05.2017
16:37:21
Выглядит как обычная статья/презенташка по Kotlin, такая же, как и все :)
тем не менее такие штуки полезны для сомневающихся, тут довольно сжато и показательно - вцелом ок

? animufag ?
24.05.2017
16:44:11
https://medium.com/@magnus.chatt/why-you-should-totally-switch-to-kotlin-c7bbde9e10d5 даа помню тоже очень запомнилась эта картинка. на самом деле бывает на вин10 разблокирую экран и там рандомная впечатляющая картинка с природой и прям хочется написать статью на медиуме чтобы все тоже заценили картинку дружко, к сожению, нету

Dmitriy
24.05.2017
17:35:17
всем привет, подскажите пожалуйста, как в IDEA лучше организовать проект, если и бэкенд и фронтенд на Kotlin, бэкенд на spring boot запускается. Как сделать так, чтобы js файл попал в ресурсы бэкенда?

Anton
24.05.2017
17:43:55
А зачем js файл в ресурсах бэкэнда?

Dmitriy
24.05.2017
17:44:55
а как бэкенд его отдавать браузеру будет?

или типа просто запускать сам фронтенд?

результат самого проекта - это jar, который все ресурсы и веб-сервер в себе содержит. я понимаю как его грэдлом собрать, но во время разработки как лучше делать?

Anton
24.05.2017
17:50:03
Просто я понял "ресурсы бэкенда" именно как ресурсную папку. Ну по идее вебсервер должен отдавать index.html со скриптом из какой нибудь публичной директории

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