
Миша
03.04.2017
14:46:23
Обновил дженерики, но не закончил
Вот этот абзац меня с ума сводит просто
The general rule is: when a type parameter T of a class C is declared out, it may occur only in out-position in the members of C, but in return C<Base> can safely be a supertype of C<Derived>.
Что такое out-position и как связаны Base и Derived с остальной частью предложения?
Мб кто что-то кодил с использованием этого, подскажите как можно переписать по понятиям

Google

Oleg
03.04.2017
22:38:22
насколько я знаю <out С> это аналог явовского <? extends С>, а котлиновский <in С> это аналог явовского <? super С>.
То есть принцип простой - <out С> ограничивает "снизу" - ожидается наследник С, в то время как <in С> ограничивает "сверху" - ожидается родитель С
чтобы было понятнее: Допустим я хочу сделать метод, который в качестве аргумента принимает список CharSequence, Но при этом хочу также чтобы в него можно было передать список String-ов и всех последующих потомков CharSequence. Тогда я пишу так:
fun foo(list: List<out CharSequence>){
// ....
}
Ну и понятное дело внутри тела foo нельзя ничего писать в список list. Потому что неизвестно какой нам тип могут передать. Отсюда и название out


Стас
04.04.2017
07:45:32
C<Base> может быть родительским классом для C<Derived>

Миша
04.04.2017
10:27:57
Окей

Стас
07.04.2017
07:20:49
Изучаю Android. У гугла есть статьи, переведённые на русский. Отвратительный перевод оф.доки.

Миша
07.04.2017
07:42:46
Более того, они старые и неполные
Стаковерфлоу топ
Ну и английская спецификация
И сорцы, конечно
Вау, просто топ http://kotlinlang.ru/contributors

Стас
08.04.2017
13:48:26
ухты 8) приятно

Google

Стас
08.04.2017
13:48:41
Главное, чтоб это всё кому-нибудь помогло.

Миша
09.04.2017
10:05:14
Народ, кто шарит в шаблонах проектирования, помогите в вопросе:
В однопоточном коде это можно сделать обычным if'ом, но у меня тут асинхронность. Мне нужно выполнить действие, если истино несколько условий (в моём случае - 2). Каждое из них может быть истино или ложно в любой момент времени, то есть они постоянно меняются.
Как сейчас реализовано: в одном месте, где условие 1 начало выполняться, проверяется условие 2, и в случае истинности обоих выполняется код, соответственно так же и в другом. Но для меня это выглядит анти-архитектурно. Как думаю будет лучше - поставить метод, который будет вызываться при изменении истинности одного из событий и проверять на истинность остальные. Что-то типо наблюдателя, но наблюдатель это один ко многим, а мне нужно многие ко многим.
Так вот вопрос: есть паттерн для таких целей вообще, или нет?


Стас
09.04.2017
10:19:46
Я так понимаю речь о тестовом для яндекса? Хорошая тема - RxJava. Подпишись на твои значения. Я пока сам не очень понимаю, как она работает, но реактивное программирование, вроде как, именно для таких случаев, как у тебя.

Миша
09.04.2017
11:02:42
Окей, пока оставлю как есть, когда реализую остальное, мб перепишу
А как у тебя с этим заданием?

Стас
09.04.2017
11:06:34
Ковыряю помаленьку, мозг хрустит.
Пыхчу вот над синонимами для перевода.

Миша
09.04.2017
15:17:48
Норм
Только не забудь потом убрать кнопку

Стас
10.04.2017
06:29:15
Да там столько всего на самом деле, что кнопка - фигня 8)
Я уже приготовил бубен и свистелки.

Миша
10.04.2017
14:14:42
Ахах
Всё, добил дженерики

Стас
11.04.2017
09:02:33
Спасибо!

Oleg
11.04.2017
12:35:27
Кто нибудь знает как в котлине поделить два Int числа, чтобы получить на выходе Float?
я все время пишу intVal.toFloat(), может можно как-то по другому?

Миша
11.04.2017
13:48:07
>>> infix fun Int.d(other: Int) = this.toFloat() / other.toFloat()
>>> 42 d 11
3.8181818
Изи))))0

Oleg
11.04.2017
22:53:34
неплохой способ, неожидал )))

Google

Oleg
11.04.2017
22:59:03
ох у нас много нерабочих ссылок в статье "функции"
проблема в том, что на гитхабе у нас файлы называются *.md а на сайте *.html и если ссылки указывать как .md, то не работает на сайте, а если *.html - то не работает на гитхабе
сделал чтобы с .md редиректило на .html
Но все таки я думаю надо писать ссылки .html, также как это сделано в англ. оригинале

Стас
12.04.2017
07:35:57
?
Как дела по этому проекту в целом?
Я смогу включиться обратно после 24 апреля.
Нужна помощь по джаве, не могу наковырять дженерик правильный.
Хотя.
Пойду на спец.канал.
Но всё же странно.

Миша
13.04.2017
12:51:40
Ты в приложухе ретрофит юзаешь?

Стас
13.04.2017
12:53:06
абзательна
то ж мудрые мужи говорят робыть
очень внятно показано что-куда: https://futurestud.io/tutorials/retrofit-2-basics-of-api-description

Миша
13.04.2017
13:31:34
мне кажется, что там логика достаточно простая чтобы обойтись без библиотек
ни многопоточности, ни обновлений на лету
А
путаю с realm :D

Google

Миша
13.04.2017
13:32:40
Это ж url либа
но всё равно, там ж 2 запроса всего в api

Стас
13.04.2017
13:34:31
Мне самому интересно было ковырнуть ретрофит. Всё равно ведь разбираться надо.

Миша
13.04.2017
13:35:54
Ну да, верно
Взял Свойства и поля
Обновил
Кстати, насчёт ссылок <a name="xxx">
Я думаю, что толку от них мало, ибо через них нельзя ссылаться на якоря на других страницах

Стас
25.04.2017
10:52:38
извини, я слабо понимаю, о чём речь

Oleg
25.04.2017
10:53:53

Миша
25.04.2017
10:54:10
Вау
что за магия

Nikolay
25.04.2017
10:54:28
#when-expression это и есть ссылка на якорь

Oleg
25.04.2017
10:54:29
?

Миша
25.04.2017
10:55:07
АААААА
ПОНЯЛ
СПАСИБО
Просто топ, я жму сюда
И попадаю сюда

Google

Миша
25.04.2017
10:59:24
Короче, гляньте http://kotlinlang.ru/docs/reference/properties.html, вроде стало лучше

Oleg
25.04.2017
11:10:34
да, кажется работает отлично, насколько я понимаю туда и должно адресовать ведь?

Миша
25.04.2017
13:31:00
Да

Alexander
26.04.2017
07:26:48
отправьте его в дошкольную группу