-__-
?.Invoke же
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
Раз уж ввели целое ключевое слово (event), могли бы и нормально сделать.
честно, я даже не знаю кто еще пользуется эвентами )
Loyd
В смысле кто?
Sherzod
зачем ими пользоваться
Sherzod
когда есть Action, Func
Anton
когда есть Action, Func
Так это оно и есть
Denis
1. "знание" и "незнание" - это такие понятия, сильно размытые. Кроме того, это не основная характеристика observable - "не светить списком получателей". Ну то есть это скорее "не самая лучшая реализация" чем "нарушение паттерна". 2. Ну я к тому, что любая реализация "может поменяться" =) Не знаю к чему относится твое "нет" Ну и ладно, пожар в душе погорит да и потухнет. А це-шарп еще на сто лет останется
Cuno
Эй, этот чат только для игрушечных языков. Хватит свои шарпы обсуждать.
Denis
когда есть Action, Func
event накладывает ограничение на то, кто может инвокнуть. Дальше-то любой тип делегата может быть
Anton
То есть это тоже сахар просто
Loyd
Ну, там главная суть именно в том, чтобы вызвать изве нельзя было
Loyd
Обычно это делают так, что есть EventDispatcher и Event и вот Event наружу, а первый внутри. Как-то так
Loyd
Ладно, пора поработать
Loyd
xd
Sheldhur
посоны, за ARF (Abuse Reporting Format) кто нибудь знает?
Loo
посоны, за ARF (Abuse Reporting Format) кто нибудь знает?
не знаю но скину сссылку https://tools.ietf.org/html/rfc5965#appendix-B.1
Sheldhur
не, мне интересно эта штука на каждое письмо высылается или только именно при нажатии кнопки "в спам"?
Kerrigan
кто-нибудь видел шпаргалку по разворачиванию всех этих Result, Option и прочих?
Cuno
https://doc.rust-lang.org/std/ Эту?
Денис
чит шит не гуглится
Денис
да там функций-то раз-два и обчёлся
Kerrigan
я сказал читшит, да
Kerrigan
потому что я постоянно путаюсь
Денис
но ты можешь помочь всем новичкам, замутив его
Loo
поэтому периодически в доку бегаю
Денис
а можно пример, что вы путали в последний раз?
Денис
ну пожааалуйста
Loo
Kerrigan
а можно пример, что вы путали в последний раз?
методы для разворачивания Option и Result
Денис
@sarakerrigan а конкретный пример есть?))
Evgεny
unwrap()
Kerrigan
например я перепутал .ok_or и .expect сегодня
Денис
океееей
Антон
например я перепутал .ok_or и .expect сегодня
Но ничего страшного не случилось
Антон
потому что язык игрушечный
Антон
/стикер Галимова/
Денис
просто билд упал, а так да, ничего)
Loo
в сишечке бы такой хуйни не было бы
Kerrigan
лолшто
Kerrigan
я должен импортить трейт чтобы юзать его методы реализованные на структуре?
Денис
а как ещё?...
Kerrigan
нууу, в неигрушечных языках оно само определяет
Антон
нууу, в неигрушечных языках оно само определяет
В не игрушечных языках сиротские интсансы допускаются
Loo
https://github.com/tylerlaberge/rascal#functions-and-procedures
Evgεny
Kerrigan
rls запускает двигатели на взлет
Kerrigan
по крайней мере так звучит
Kerrigan
мне надоело, пойду идею поставлю
ㅤ
А в lib.rs?)))
kitsu
Loo
я не в main.rs пишу
а как же бестпрактисы написания всей программы в fn main
Kerrigan
а как же бестпрактисы написания всей программы в fn main
там разрослась такая простыня, что хоть заворачивайся и ползи на кладбище
Kerrigan
парсер ia64 инструкций пишешь?
нет, парсер комментариев игрушечных программистов
kitsu
но все же знают, что комментарии не нужны
Kerrigan
нужны если их ненавидят
Kerrigan
парсер хабра почти дописал
Loo
может написать бота который будет парсить статьи из хаба руста и искать там игрушечные комменты
kitsu
блин, возьми в долю