Size: a a a

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

2020 March 15

A

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

G

Gymmasssorla in Rust — русскоговорящее сообществo
Rah
пытался сортировку подсчетом реализовать и без HRTB не получилось - https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=48c1c1d70d575d87ef519dd0558c71d8

так и не понял, почему HRTB помогло
Очень странно, я тоже не смог без HRTB
источник

dp

dark pit in Rust — русскоговорящее сообществo
Adv0cat
Ну обычно просто из битов вычленяют символ до разделителя или квантуют данные по колличеству бит, а потом пихают символ в парсер, который опираясь на символ понимает что делать дальше или чего ждать дальше
морзянка не так работает.  в ней разделение битов сигнала на точки/тире, и точки/тире на слова регулируется одной и той же сущностью — паузами, которые опять же нулевые биты сигнала.
источник

A

Adv0cat in Rust — русскоговорящее сообществo
dark pit
морзянка не так работает.  в ней разделение битов сигнала на точки/тире, и точки/тире на слова регулируется одной и той же сущностью — паузами, которые опять же нулевые биты сигнала.
Ну почему не так, если вы говорите, что есть разделители в виде нулевых битов?)
источник

dp

dark pit in Rust — русскоговорящее сообществo
это я ещё не заморачивался с сервисными кодами типа конец передачи, корректировка ошибки, и т.д.
источник

Э

Эрик in Rust — русскоговорящее сообществo
dark pit
морзянка не так работает.  в ней разделение битов сигнала на точки/тире, и точки/тире на слова регулируется одной и той же сущностью — паузами, которые опять же нулевые биты сигнала.
Да, но там же разные паузы? То есть можно сделать
enum Morse {
Dot,
Pause,
Long Pause,
}
источник

VB

V B in Rust — русскоговорящее сообществo
всем привет, извините за оффтоп, пытаюсь вести свой канал с подборками различных open-source библиотек https://t.me/opensourcefuture, кому интересно - welcome)
источник

dp

dark pit in Rust — русскоговорящее сообществo
Эрик
Да, но там же разные паузы? То есть можно сделать
enum Morse {
Dot,
Pause,
Long Pause,
}
я сначала тоже так думал.  а потом понял, что они не разные, а как бы "вложенные".  при удлинении одна пауза становится другой, бОльшей.

https://github.com/ratijas/windows-rust-counters/blob/master/morse-stream/src/lib.rs
источник

Э

Эрик in Rust — русскоговорящее сообществo
dark pit
я сначала тоже так думал.  а потом понял, что они не разные, а как бы "вложенные".  при удлинении одна пауза становится другой, бОльшей.

https://github.com/ratijas/windows-rust-counters/blob/master/morse-stream/src/lib.rs
Ну окей. Скажем, 0 - пауза, 1 - точка. В чём проблема декодирования? Три нолика - длинная пауза, всё.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Там вроде не должно быть пауз дольше двух подряд в одном слове.
источник

dp

dark pit in Rust — русскоговорящее сообществo
Эрик
Ну окей. Скажем, 0 - пауза, 1 - точка. В чём проблема декодирования? Три нолика - длинная пауза, всё.
может просто сфоткаю и скину те три листа теории?  соседи сказали, что довольно понятно получилось.
источник

H

Heorhi in Rust — русскоговорящее сообществo
гмм... тут выяснилось, что существует combine , который умеет partial stateful parsing. Но опять таки для текста
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
в какой версии раста разрешили impl ExternalTrait for External<Internal> ?
источник

Э

Эрик in Rust — русскоговорящее сообществo
🦉 ⁣
в какой версии раста разрешили impl ExternalTrait for External<Internal> ?
1.41?
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
я видимо переборщил
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
impl Into<Option<External>> for Option<Internal>
источник

Э

Эрик in Rust — русскоговорящее сообществo
dark pit
может просто сфоткаю и скину те три листа теории?  соседи сказали, что довольно понятно получилось.
У тебя там в морзюке пять состояний, можно переписать с enum в три бита.
источник

A

Adv0cat in Rust — русскоговорящее сообществo
dark pit
может просто сфоткаю и скину те три листа теории?  соседи сказали, что довольно понятно получилось.
01 - точка, 11 - тире, 00 - pause,
И вот ваши символы, которые попадут в парсер, вот вам квантование по 2 бита всей информации, нашли 1 раз 00, значит короткая пауза, нашли 2 раза по 00 - длинная пауза, 3 раза по 00 значит ваще конец
источник

A

Adv0cat in Rust — русскоговорящее сообществo
как вам такой подход?
источник

A

Adv0cat in Rust — русскоговорящее сообществo
в итоге у вас биты в массив из таких enum получится:
enum Morse {
   Dot,
   Dash,
   Pause,
}
источник