-__-
?.Invoke же
Andrei
Loyd
?.Invoke же
Сахарок для проверки жеж. Ну и да, повторюсь: где гарантии, что оно атомарно и в многопоточной среде не сломается. И второе, интерфейс как был, так и остался дерьмом, вне зависимости, как это выглядит
Denis
1. Знание о том, есть и подписчики и какие они убивает идею observer паттерна. Вся суть именно в том, что мы эмиттим событие и нам пофиг, есть подписчики или нет и кто они.
2. Причина, по которой null — в реализации, которая может измениться. Какого хрена мы вообще можем сделать +=, но при этом там null
3. Я правильно понимаю, что ты подписал пустым обработчиком?
1. Observable в данном контексте - это значение переменной lol из твоего примера.
2. Да, может. Так вообще о чем угодно можно сказать =)
3. Ну, примерно - да.
Я не защищаю шарпы, но и дырок в абстракицях не наблюдаю. Мне самому nullability не оч нравится
Loyd
1. Именно. В итоге мы знаем, есть подписчики или нет. Дырка в применении паттерна.
2. Нет. При нормальной реализации не было бы никакого null там. Нет подписчиков — ничего не вызвалось, вот и всё. Везде так делают, но шарп особенный, видимо.
3. Ну збс.
Denis
По поводу атомарности - ну тык там (в шарпах) и синглтон нормально делать запаришься. И вообще все что угодно. Вот такой рантайм, со своими минусами (и со своими плюсами)
Loyd
Ну, то есть вместо того, чтобы скрыть это всё в кишки, теперь каждый разработчик должен сам думать об этом, так?
Loyd
Раз уж ввели целое ключевое слово (event), могли бы и нормально сделать.
Sherzod
Loyd
В смысле кто?
Sherzod
зачем ими пользоваться
Sherzod
когда есть Action, Func
Anton
Denis
1. "знание" и "незнание" - это такие понятия, сильно размытые. Кроме того, это не основная характеристика observable - "не светить списком получателей". Ну то есть это скорее "не самая лучшая реализация" чем "нарушение паттерна".
2. Ну я к тому, что любая реализация "может поменяться" =) Не знаю к чему относится твое "нет"
Ну и ладно, пожар в душе погорит да и потухнет. А це-шарп еще на сто лет останется
Cuno
Эй, этот чат только для игрушечных языков. Хватит свои шарпы обсуждать.
Denis
когда есть Action, Func
event накладывает ограничение на то, кто может инвокнуть. Дальше-то любой тип делегата может быть
Loyd
Anton
Anton
То есть это тоже сахар просто
Loyd
Ну, там главная суть именно в том, чтобы вызвать изве нельзя было
Denis
Evgεny
Loyd
Обычно это делают так, что есть EventDispatcher и Event и вот Event наружу, а первый внутри. Как-то так
Loyd
Ладно, пора поработать
Loyd
xd
Sheldhur
посоны, за ARF (Abuse Reporting Format) кто нибудь знает?
Sheldhur
не, мне интересно эта штука на каждое письмо высылается или только именно при нажатии кнопки "в спам"?
Kerrigan
кто-нибудь видел шпаргалку по разворачиванию всех этих Result, Option и прочих?
Cuno
https://doc.rust-lang.org/std/
Эту?
Денис
чит шит не гуглится
Денис
да там функций-то раз-два и обчёлся
Kerrigan
я сказал читшит, да
Kerrigan
потому что я постоянно путаюсь
Денис
но ты можешь помочь всем новичкам, замутив его
Loo
Loo
поэтому периодически в доку бегаю
Денис
а можно пример, что вы путали в последний раз?
Loo
Денис
ну пожааалуйста
Loo
Kerrigan
Денис
@sarakerrigan а конкретный пример есть?))
Evgεny
unwrap()
Kerrigan
например я перепутал .ok_or и .expect сегодня
Денис
океееей
Антон
Антон
потому что язык игрушечный
Антон
/стикер Галимова/
Денис
просто билд упал, а так да, ничего)
Loo
в сишечке бы такой хуйни не было бы
Kerrigan
лолшто
Kerrigan
я должен импортить трейт чтобы юзать его методы реализованные на структуре?
Денис
а как ещё?...
Kerrigan
нууу, в неигрушечных языках оно само определяет
Loo
Loo
https://github.com/tylerlaberge/rascal#functions-and-procedures
Evgεny
Kerrigan
rls запускает двигатели на взлет
Kerrigan
по крайней мере так звучит
Kerrigan
мне надоело, пойду идею поставлю
Loo
Anton
ㅤ
Kerrigan
ㅤ
А в lib.rs?)))
kitsu
kitsu
kitsu
но все же знают, что комментарии не нужны
Kerrigan
нужны если их ненавидят
Kerrigan
парсер хабра почти дописал
Loo
может написать бота который будет парсить статьи из хаба руста и искать там игрушечные комменты
kitsu
Kerrigan
kitsu
блин, возьми в долю