
Kirill
09.07.2018
20:10:20
А можно ссылку? Оо

Роман
09.07.2018
20:10:54
https://stepik.org/187
там по 3 месяца лицухи дают на всё(в прямом смысле на всё)

Google

Kirill
09.07.2018
20:11:39
Прикольно

Роман
09.07.2018
20:11:55
https://stepik.org/2852
котлин вот ещё от JetBrains
последнее не тестил ещё
времени мало

Kirill
09.07.2018
20:13:13

Роман
09.07.2018
20:13:36
https://stepik.org/org/jetbrains вот чекни здесь
они кстати не только за своё дают лицензии

Taras
09.07.2018
20:15:11
Спасибо за ресурс огромное?

Quantum Harmonizer
09.07.2018
20:18:34
есть ли в стдлибе функции-утилиты типа { a, b -> a == b } или { a: Boolean -> !a }?

Mi
09.07.2018
20:19:46
а каким образом они тебе нужны? это ведь обычный equals и not
разве нельзя метод референс поставить

Google

Quantum Harmonizer
09.07.2018
20:21:31
можно, хотелось бы знать, есть ли готовые классы под это
обожаю метод референсы, но использую только в инлайнах, ибо в неинлайновых получается больше методов, чем в лямбдах

Dmitriy
09.07.2018
21:29:25
всем привет. подскажите, пожалуйста, вот если у меня есть переменная a, которая может быть null, я могу написать a?.hashCode(), например. А можно как-то записать для :: ? Т.е. есть какой-то аналог для a::class.declaredMemberProperties?

Quantum Harmonizer
09.07.2018
21:34:40

Dmitriy
09.07.2018
21:36:11

Mi
09.07.2018
21:36:44

Dmitriy
09.07.2018
21:38:07

Mi
09.07.2018
21:43:21
можно и так

Dmitriy
09.07.2018
21:44:56

Quantum Harmonizer
09.07.2018
21:47:41
Нельзя такие вопросы задавать, когда используешь рефлексию :)

Dmitriy
09.07.2018
21:48:50

Vladislav
10.07.2018
05:47:30

Sergey
10.07.2018
08:03:34
@relizarov подскажите, появилось ли что-нибудь out-of-box для https://github.com/Kotlin/kotlinx.coroutines/issues/119

Roman
10.07.2018
08:16:25
Пока нет ничего лучше чем описано в issue

Sergey
10.07.2018
08:19:30
Ок, спасибо

Dmitriy
10.07.2018
08:44:39
всем привет. можно как-то записать вот это, без объявления переменной b?
a.filter { b -> b is String }

Bogdan
10.07.2018
08:45:42

Александр
10.07.2018
08:45:42
it

Dmitriy
10.07.2018
08:45:52
не, если it уже занята

Google

Evgeny
10.07.2018
08:45:55
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance.html

Dmitriy
10.07.2018
08:49:19
а получается, что
filter { it.annotations.filterIsInstance<MyAnnotation>().isEmpty() }
нельзя никак через none записать?

Алексей
10.07.2018
10:09:24
парни подскажите не сталкивались ли в такой ошибкой?
Error:Kotlin: Conflict duplicating -Xjsr305 value: strict, strict
сходу ничего не нагуглил

Alexander
10.07.2018
10:13:11

Dmitriy
10.07.2018
10:21:08
т.е. мне надо собрать в мапу все свойства, у которых нет определённой аннотации, а потом скормить их конструктору, а если исходный объект null, то вернуть пустой документ

Alexander
10.07.2018
10:23:54
Я сам недавно такое делал. Будет эпик фэйл на приватных пропертях. Надо проверять на открытость.
Хотя только аннотации запросить, может и будет работать, но не уверен

Dmitriy
10.07.2018
10:24:42

Alexander
10.07.2018
10:25:06
надо делать filter{it.isAccesible}
с правильным правописанием только
У меня правда почему-то падало на проверке, с какой-то внутренней ошибкой, но потом перестало. Так и не понял, в чем дело было.

Dmitriy
10.07.2018
10:27:48
ну у меня не должно там быть приватных пропертей, по идее
надо обдумать это
писать в базу объект не со всеми свойствами - это тоже не очень хорошо будет
ещё вопрос, можно как-то сделать, чтобы подобный код не компилировался?
assertEquals(1, Object())
можно как-то избежать того, что int будет к Object приводиться?

dimiii
10.07.2018
12:55:57

Google

Dmitriy
10.07.2018
12:59:33

dimiii
10.07.2018
12:59:55
jshell> boolean assertEquals(Object o1, Object o2) { return o1.equals(o2); }
| created method assertEquals(Object,Object)
jshell> assertEquals(1, new Object())
$2 ==> false

Dmitriy
10.07.2018
13:01:25
а, да, действительно ) я ошибся, в джаве тоже это проходит

Konstantine
10.07.2018
13:03:50
Почему оно должно не компилироваться, если оно принимает Object'ы

dimiii
10.07.2018
13:05:37

Admin
ERROR: S client not available

Quantum Harmonizer
10.07.2018
13:06:06
хотелось бы какой-нибудь @DisableBoxing :)

Vladislav
10.07.2018
13:32:43
окей, котлин как сделать следующее:
fun allString():List<String>=(
arrayLIstOf<String>(<somestrings>)
+ arrayListOf<String?>(emptyString)
)
где в случае String? нужно просто проигнорить если emptyString == Null ?

Хекс
10.07.2018
13:34:31
шта

Konstantine
10.07.2018
13:35:04

Aleksandr
10.07.2018
13:40:57

Vladislav
10.07.2018
13:42:26

Andrey
10.07.2018
13:50:58

Quantum Harmonizer
10.07.2018
13:52:02
можно, кстати, сделать assertEquals(Int, Any?) и assertEquals(Any?, Int) с DeprecationLevel.ERROR

Andrey
10.07.2018
14:01:34
для решения вышеописанной проблемы
Ну проблема-то не в боксинге на самом деле. Боксинг - костылик для подправки того факта, что в Java примитивы не являются объектами (с точки зрения как ООП, так и ФП всё должно быть объектом).
Вообще, проблема с assertEquals несколько надуманная. Ну не проверит это компилятор, ничего страшного. Это же тесты, они сразу на этой строчке и развалятся.

Mikhail
10.07.2018
14:03:44

Quantum Harmonizer
10.07.2018
14:04:14

Google

Mikhail
10.07.2018
14:05:34
А вот интересно, какая перегрузка возьмет верх если скормить два Int
Хотя, наверное тут поможет только assertEquals(T?, T?)

dimiii
10.07.2018
14:07:28

Andrey
10.07.2018
14:07:42

Mikhail
10.07.2018
14:09:04
а должно?)
Вот и ответ на твой вопрос:
> Никакая. Ошибка компиляции будет:
Overload resolution ambiguity

Quantum Harmonizer
10.07.2018
14:09:35
даже для Int, неInt?

Andrey
10.07.2018
14:09:43
Вот если будет ещё определено fun assertEquals(a: Int, b: Int), то компилятор выберет её.

Quantum Harmonizer
10.07.2018
14:10:02
Оно как раз в jUnit Определено.

Andrey
10.07.2018
14:10:37

Albert
10.07.2018
14:10:58
хм. как запустить fun main(...) в андроид студио. джавовый класс с мейном с кнопки запускается
просто праздный интерес)

Quantum Harmonizer
10.07.2018
14:12:41

Albert
10.07.2018
14:14:10
ClassNotFoundException
class Main {
companion object {
@JvmStatic
fun main(args: Array<String>) {
println("Hey")
}
}
}

Mikhail
10.07.2018
14:15:09

Albert
10.07.2018
14:15:17

Mikhail
10.07.2018
14:15:48