Size: a a a

2020 August 02

T1

Tony 123 in rust_offtopic
Alex Zhukovsky
у меня оже первый. я не разобрался как второй ставить
дададада
источник

H

Hirrolot in rust_offtopic
так, вопрос к гуру шаблонов проектирования
источник

YS

Y S in rust_offtopic
Alex Zhukovsky
вроде того
Прямо купил, или с торрентов?
источник

KR

Kai Ren in rust_offtopic
Y S
Прямо купил, или с торрентов?
Она в открытом доступе.
источник

YS

Y S in rust_offtopic
Такс
источник

KR

Kai Ren in rust_offtopic
Но можно и купить, если есть желание.
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
ну воспользуйся любым из указанных. Думаю, лучшим совпадением чаще всего будет IComparable
короче, вот покажи мне пример вот этого кода на сишарп:


trait MyAdd {
  fn zero() -> Self;
  fn add(self, rhs: Self) -> Self;
}

impl MyAdd for i32 {
  fn zero() -> Self { 0 }
  fn add(self, rhs: Self) -> Self { self + rhs }
}

fn generic_sum<T: MyAdd>(items: &[T]) {
 items.iter().fold(MyAdd::zero(), |x, y| x.add(y));
}

generic_sum(&[1,2,3,4,5]);
источник

AZ

Alex Zhukovsky in rust_offtopic
Y S
Прямо купил, или с торрентов?
увы
источник

AZ

Alex Zhukovsky in rust_offtopic
Kai Ren
Она в открытом доступе.
нет
источник

H

Hirrolot in rust_offtopic
В teloxide нужна диспетчеризация обновлений, приходящих с сервера Телеграма. Изначально обновления — это Stream<Update>, где Update — это тип-сумма, всё то, что может придти с Телеграма. Это довольно глубоковложенный тип.

Можно было бы его просто сопоставлять с образом, но код превращается в мессиво глубоковложенное:

match update.from {
   Some(from) => match from { match from.edit_date { ... } }
   _ => ...
}

Ещё есть вариант с реактивным ФП. Т.к. у нас уже есть Stream<Update>, мы его можем просто комбинаторами дербанить. Но вот проблема в том, что сопоставления с образом на стримах нет, вернее есть, но использовать это крайне неудобно из-за сырости Rust.

Какие ещё есть варианты?
источник

H

Hirrolot in rust_offtopic
Сейчас это решено диспетчеризатором, но это дело комбинируется _очень_ плохо
источник

KR

Kai Ren in rust_offtopic
Пересмотрел корку. Хм, действительно. Что-то я напутал.
источник

T1

Tony 123 in rust_offtopic
Hirrolot
В teloxide нужна диспетчеризация обновлений, приходящих с сервера Телеграма. Изначально обновления — это Stream<Update>, где Update — это тип-сумма, всё то, что может придти с Телеграма. Это довольно глубоковложенный тип.

Можно было бы его просто сопоставлять с образом, но код превращается в мессиво глубоковложенное:

match update.from {
   Some(from) => match from { match from.edit_date { ... } }
   _ => ...
}

Ещё есть вариант с реактивным ФП. Т.к. у нас уже есть Stream<Update>, мы его можем просто комбинаторами дербанить. Но вот проблема в том, что сопоставления с образом на стримах нет, вернее есть, но использовать это крайне неудобно из-за сырости Rust.

Какие ещё есть варианты?
а ты не зависимо от обновлений в конечном счёте делаешь с ними одну операцию?
источник

KR

Kai Ren in rust_offtopic
Hirrolot
В teloxide нужна диспетчеризация обновлений, приходящих с сервера Телеграма. Изначально обновления — это Stream<Update>, где Update — это тип-сумма, всё то, что может придти с Телеграма. Это довольно глубоковложенный тип.

Можно было бы его просто сопоставлять с образом, но код превращается в мессиво глубоковложенное:

match update.from {
   Some(from) => match from { match from.edit_date { ... } }
   _ => ...
}

Ещё есть вариант с реактивным ФП. Т.к. у нас уже есть Stream<Update>, мы его можем просто комбинаторами дербанить. Но вот проблема в том, что сопоставления с образом на стримах нет, вернее есть, но использовать это крайне неудобно из-за сырости Rust.

Какие ещё есть варианты?
Ну, подход с actix::Handler не плох.
источник

H

Hirrolot in rust_offtopic
Tony 123
а ты не зависимо от обновлений в конечном счёте делаешь с ними одну операцию?
не понял
источник

H

Hirrolot in rust_offtopic
Kai Ren
Ну, подход с actix::Handler не плох.
посмотрю
источник

KR

Kai Ren in rust_offtopic
Но без энума теряется exhaustiveness, хз насколько она критична в твоём случае
источник

H

Hirrolot in rust_offtopic
некритична
источник

H

Hirrolot in rust_offtopic
даже наоборот
источник

KR

Kai Ren in rust_offtopic
Ну тогда что-то типа actix::Handler должно быть удобно. Просто на каждый интересующи тип сообщения опсывается impl Handler<NameUpdated> for MyBot и оно уже фыр-фыр под-капотом, просто вызывает хэндлеры, когда событие происходит.
источник