Size: a a a

Rust — русскоговорящее сообществo

2020 November 09

МЛ

Михаил Лёсин... in Rust — русскоговорящее сообществo
о, спасибо, попробую!
источник

МЛ

Михаил Лёсин... in Rust — русскоговорящее сообществo
но ведь тут получается что я из исходного стрима делаю "обрезаный вариант", который, допустим, я могу сфолдить в вектор, а как быть со следующей секундой? мне же всё-таки нужен стрим в итоге.
Сорри если вопросы глупые, я в доке заблудился :)
источник

МЛ

Михаил Лёсин... in Rust — русскоговорящее сообществo
мне по сути не понятно как в расте сделать что-то похожее на вот такое поведение: https://rxjs.dev/api/operators/window
источник

S

Sabaun Taraki in Rust — русскоговорящее сообществo
diabolo
я не проверял, но вроде во время компиляции в окружении доступен путь к карго-манефесту, скорее всего можно законстить)
доступен
облегчило дело
источник

r

red75prime in Rust — русскоговорящее сообществo
Михаил Лёсин
но ведь тут получается что я из исходного стрима делаю "обрезаный вариант", который, допустим, я могу сфолдить в вектор, а как быть со следующей секундой? мне же всё-таки нужен стрим в итоге.
Сорри если вопросы глупые, я в доке заблудился :)
Тут нужно что-то вроде
let string_stream = ...;
let timer_stream = ...;
let window_stream = stream::unfold((), |_| async move {
  let mut items = vec![];
  loop{
   select! {
     _ = timer_stream.next() => {
       if items.is_empty() { continue };
       return Some((items, ()));
    }
    item = string_stream.next() => {
       items.push(item);
    }
   };
 };
});
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
можно на stream_generator условно как-то так
loop {
 let mut buf = Vec::new();
 select! {
   line => input.next() => {
      buf.push(line);
   }
   timer => timer.next() => {
     yielder.send(buf);
   }
}
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
а можно как-то скомпилировать и запустить тесты без сборки основного проекта?
источник

r

red75prime in Rust — русскоговорящее сообществo
Mikhail Voronov
а можно как-то скомпилировать и запустить тесты без сборки основного проекта?
А что тесты будут тестировать?
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
red75prime
А что тесты будут тестировать?
основной проект - это группа васм модулей, которые не компилятся в натив. А тесты - это способ запустить их в отдельном рантайме, они нужны больше для CI, где сначала будут скомпилены васмы отдельной командой.
источник

АК

Алексей Колотвинов... in Rust — русскоговорящее сообществo
В бигинерсах не отвечают, задам вопрос здесь 😁 В одном из топиков расткона заявили, что после "недавних изменений в васм" можно веб приложения делать только с использованием васм/раст. Может в кратце кто нить объяснить, что за изменения? Дали прямой доступ к дом дереву и все браузерным апи?
источник

SL

S. L. in Rust — русскоговорящее сообществo
use это импорт библиотек?
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
S. L.
use это импорт библиотек?
источник

AV

A V in Rust — русскоговорящее сообществo
да
источник

AV

A V in Rust — русскоговорящее сообществo
импорт библиотек - в Cargo.toml
источник

PM

Pavel Meledin in Rust — русскоговорящее сообществo
S. L.
use это импорт библиотек?
так в книге все это есть. правда быстрее будет книгу пройти, чем в чате спрашивать
источник

SL

S. L. in Rust — русскоговорящее сообществo
Pavel Meledin
так в книге все это есть. правда быстрее будет книгу пройти, чем в чате спрашивать
я параллельно прохожу книгу и копаюсь в проекте. Но кажется, в русскоязычной не все есть
источник

PM

Pavel Meledin in Rust — русскоговорящее сообществo
S. L.
я параллельно прохожу книгу и копаюсь в проекте. Но кажется, в русскоязычной не все есть
дело конечно твое. может тогда в https://t.me/rust_beginners_ru базовые штуки спрашивать
источник

МЛ

Михаил Лёсин... in Rust — русскоговорящее сообществo
red75prime
Тут нужно что-то вроде
let string_stream = ...;
let timer_stream = ...;
let window_stream = stream::unfold((), |_| async move {
  let mut items = vec![];
  loop{
   select! {
     _ = timer_stream.next() => {
       if items.is_empty() { continue };
       return Some((items, ()));
    }
    item = string_stream.next() => {
       items.push(item);
    }
   };
 };
});
не получается только запихать стримы внутрь анфолда
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Михаил Лёсин
не получается только запихать стримы внутрь анфолда
положи их в init
источник

МЛ

Михаил Лёсин... in Rust — русскоговорящее сообществo
вафель 🧇
положи их в init
чот у меня руки видимо не оттуда растут :(
https://gist.github.com/rust-play/6a7dc0913b97edd6fa4e04a824bef3a7

теперь пишет expected tuple, found '()'
источник