@kotlin_lang

Страница 607 из 982
Руслан
26.03.2018
21:46:13
Попробуй код с suspend функциями декомпильнуть ?
Suspend просто через скалу компилится ?

Антон
26.03.2018
21:47:58
скала оверсложный яп?)

Quantum Harmonizer
26.03.2018
22:13:56
null-object — это противоположный null'у стул. У такого юзера пустое имя, пустая почта и всё в таком духе. Пересечение null-object и DTO — довольно-таки ужасное явление.

Google
Даниил
26.03.2018
22:14:32
а никого глобальный мутабельный стейт не смутил?

Quantum Harmonizer
26.03.2018
22:14:52
а никого глобальный мутабельный стейт не смутил?
там же упомянули, что я за такое бью по рукам)

Даниил
26.03.2018
22:15:00
а, ок, я всё не стал перечитывать просто

Quantum Harmonizer
26.03.2018
22:15:22
https://youtrack.jetbrains.com/issue/KT-23304

Даниил
26.03.2018
22:15:27
а чё по сути sealed class изменит

ну если сделать EmptyUser

все равно придётся либо везде матчить на EmptyUser, либо смарткастить, те же яйца что и с nullable только в профиль

не, то есть это лучше чем null, потому что null вообще не должно быть по-хорошему

только вот проблемы которые хотел решить ТС это не решает)

Ivan
26.03.2018
22:39:29
Quantum Harmonizer
26.03.2018
22:41:05
я не понял это к моему комменту ремарка или вообще? Вроде особых противоречий с моими словами нет
Это к тому, что EmptyUser хорош, только если он не является нормальным юзером и его нужно проверять.

Google
Ivan
26.03.2018
22:43:31
Ну от кейса зависит же, например дефолтные значения можно туда запихнуть, например isAutorized для empty может возвращать false

Boris
27.03.2018
03:08:00
Не понимаю какой смысл в емптиюзере, если нал-операторы делают тоже самое только без лишних классов и короче в использовании?

Andrew
27.03.2018
06:27:06
Там у него же вар глобальный, смарткаста не будет
Чисто технически что налл проверять, что спешл кейс с EmptyUser / !isAuthorized. Я тоже не понимаю, зачем городить абстракции там, где по определению всё плохо -- они ж этот код лучше не сделают.

Тимур
27.03.2018
06:42:21
Подскажите, как лучше сделать: есть глобальная переменная currentUser: User, которая содержит данные о пользователе, который залогинился на данный момент. Когда пользователь разлогинится - надо занулить переменную. Как обойтись без вездесущего !!
Imho не стоит пользоваться оператором !! направо и налево по принципу "да отстань ты от меня со своей nullability". Оператор !! предназначен для использования на стыках с java кодом, где по смыслу должен быть not null, но java сама об этом сказать не может. Оператор !! означает, что программист говорит: тут not null, мамой клянусь, вах!! А если у тебя nullable User, то значит ситуация с null логически возможна и этот вариант надо нормально обрабатывать.

Bogdan
27.03.2018
06:58:23
там же упомянули, что я за такое бью по рукам)
Перемименную себя, кот который бьет по рукам

Barry
27.03.2018
08:30:06
Можете подсказать, как изучить Котлин? Видеокурсы/книги

Konstantine
27.03.2018
08:30:52
Наконец-то какой-то интересный вопрос

dima
27.03.2018
08:31:00
есть мнение, что неплохой вариант для новичков https://www.ozon.ru/context/detail/id/142702695/

но это не точно, сам не проверял еще

Alexey
27.03.2018
08:33:03
документация
Дока канает, только если есть хотя бы один язык за плечами, желательно java

Проверено

Ivan
27.03.2018
08:33:23
kotlin koans

Vyacheslav
27.03.2018
09:09:15
чтобы там не нулл было

Quantum Harmonizer
27.03.2018
09:09:58
тебе рассказать, как создавать объекты?

Vyacheslav
27.03.2018
09:10:15
в том то и дело что не хочет создать объект

с типом <*,*>

Boris
27.03.2018
09:10:44
с типом <*,*>
А что это за тип?

Vyacheslav
27.03.2018
09:11:04
ну он конвертнул мне из джавы в такой тип я вообще не указывал

Google
Quantum Harmonizer
27.03.2018
09:11:06
с типом <*,*>
В чём вопрос — как создать объект в инициализаторе или как создать с *-Типом?

Vyacheslav
27.03.2018
09:12:16
ну как правильно в котле инициализировть хешмапу по умолчанию

Andrew
27.03.2018
09:12:42
1) https://kotlinlang.org/docs/reference/generics.html#star-projections 2) https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/mutable-map-of.html (мне, наверное, пора переименовываться в kotlin_documentation_bot, но ёжкин кот, неужели доку вообще никто не читает из начинающих?)

Костя
27.03.2018
09:12:47
val hashMap = HashMap<String, String?)

навскидку так

смайлик влез только

или есть методы ещё mapOf, hashMapOf

даже лучше с ними наверное будет

Quantum Harmonizer
27.03.2018
09:13:52
val hashMap = HashMap<String, String?)
а потом автор будет думать, что * — это String

Костя
27.03.2018
09:14:07
* это ж неопределенность (

Andrew
27.03.2018
09:14:28
это ты знаешь. если бы вопрошающий тоже это знал, таких вопросов бы не было :)

Quantum Harmonizer
27.03.2018
09:16:49
содержательно

Anton
27.03.2018
09:17:00
еще раз матернись))

Konstantin
27.03.2018
09:17:22
И все сразу взлетит

Vyacheslav
27.03.2018
09:17:49
все забейте

Quantum Harmonizer
27.03.2018
09:20:23


Vyacheslav
27.03.2018
09:20:49
var positions: HashMap<*, *> = hashMapOf<Any, Any>()

вот так надо делать

Google
Vyacheslav
27.03.2018
09:21:00
а не * * ставить

Костя
27.03.2018
09:21:41
и кидать туда потом всё подряд ?

в моем понимании лучше явные типы

Quantum Harmonizer
27.03.2018
09:21:54
а не * * ставить
ну да, там даже сообщение об ошибке очень внятное

и кидать туда потом всё подряд ?
в * не получится ничего кинуть

Boris
27.03.2018
09:28:02
в * не получится ничего кинуть
Ну да, для этого эни есть ?

whalemare
27.03.2018
09:28:29
А чем принципиально отличаются * от Any? Any это же тип? Где почитать можно?

Andrew
27.03.2018
09:29:00
ты не поверишь https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html

Вся суть в "Every Kotlin class has Any as a superclass."

Quantum Harmonizer
27.03.2018
09:29:51
Andrew
27.03.2018
09:29:54
А star projection — это не тип, а указание, что тип не интересен. List<*> в котлине — это List в джаве, List<Any?> — аналог (но не идентичный) List<Object>

Quantum Harmonizer
27.03.2018
09:30:08
List<?> в Java

* эквивалентна out Any? и in Nothing.

Andrew
27.03.2018
09:31:22
Да, так, несомненно, точнее

Gleb
27.03.2018
09:33:17
Error:Kotlin: [Internal Error] org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'SaveReport' into ... при инлайне такого метода: internal inline fun SaveReport(crossinline getReportInfo: (String) -> ReportInfo, crossinline getData: (StoragePath) -> String) : Report? = SaveReport(hashMapOf(), getReportInfo, getData)

Artem
27.03.2018
09:38:31
async(UI) депрекейтед... что делать?

Gleb
27.03.2018
09:40:53
kotl.in/issue
забавно, но после костылинга, возвращения обратно и ребилда - перестало воспроизводиться похоже на баг инкрементальной компиляции, или чего-то такого

Dmitry
27.03.2018
10:12:49
Google
Zayniddin
27.03.2018
10:32:51
Всем привет , после update на android studio 3.1 , возникла проблема error Could not download kotlin-stdlib.jar



Sergey
27.03.2018
10:33:45
https://bintray.com/bintray/jcenter

установка новой студии просто удалила старый кеш

Vladimir
27.03.2018
10:34:57
это jcenter лежит
Внезапно. У людей же работа встанет

Sergey
27.03.2018
10:35:45
Внезапно. У людей же работа встанет
ах, вот раньше просто джарку в проект кидали ))

Руслан
27.03.2018
10:38:02
Внезапно. У людей же работа встанет
Ну кто понимает что такое случается и может от этого деньги потерять ставит себе нексус кеширующий

Vladimir
27.03.2018
10:40:15
Ну кто понимает что такое случается и может от этого деньги потерять ставит себе нексус кеширующий
Ну у нас тоже есть, но будь я фрилансером, вряд ли бы я его развернул. Да и новые библиотеки в любом случае привык тянуть оттуда.

Глеб
27.03.2018
10:41:11
Sergey
27.03.2018
10:41:38


@mamarasulov_uz

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