Loo
Alexander
Плохо.
Нави
для функции push_front пишет ошибку в процессе работы: CapacityError: insufficient capacity, и что за недостаточная мощность?
պլհկ
Надо чтоб после каждой компиляции код на ревью мацакису отправлялся
Loo
պլհկ
Охуели совсем, пишут как хотят
Αλεχ
Плохо.
Напиши линтер и запрети одно
Судзумия
Alexander
Мда
Потому как надо и поддерживать все эти варианты написания а это поддержка вообще разных подходов.
Αλεχ
Αλεχ
А то я смущён что два варианта
Судзумия
или x >> 1
Alexander
Я не говорю о том что всё прямо, но много дублирований можно убрать. Язык без такого на слуху - перл. Так ещё больше вариантов написания одного.
Судзумия
про плюсы слышал?
Andrey
պլհկ
Это в перле дублирования нет?
доня.
доня.
вообще если ты матчишь опшн, значит ты что-то делаешь не так скорее всего
Cat
Cat
слишком много дублирования (скрытый посыл: и поэтому никто не пользуется)
պլհկ
Cat
Нави
какой Behavior?
let mut data: ArrayDeque<[_; 10]> = ArrayDeque::new();
data.extend_front(vec![get.unwrap(); 10].into_iter());
тут нормально заполняется
а потом добавляю со смещением:
data.push_front(get.unwrap()).unwrap();
и здесь ошибка выпадает
Нави
хотя, я блин дурак, наверно догадался уже)
պլհկ
Ты не поверишь
Andrey
ну то есть Behavior = Saturating, а хочется Wrapping
да?
доня.
почему?
ну потому что вся суть функторов и монадок (СОРЯН за сложные слова но это так и есть) в том чтобы не разворачивать/заворачивать (тем же матчингом) значения постоянно, а заюзать комбинатор вроде map или and_then, который сам распакует, ты сделаешь что тебе нужно со значением как будто оно ни в какой опшн не завёрнуто, и потом тот же комбинатор его обратно при необходимости запакует (ну если у тебя там не что-нибудь вроде or_else)
պլհկ
У тебя очередь размером 10
պլհկ
https://github.com/rust-unofficial/patterns
Alexander
О, спасибо, почитаю.
Cat
Cat
что я делаю не правильно?
Alexander
Почему например for_each предпочтительнее, потому как потом распараллелить вообще изи. Хотя конечно где-то и return нужен.
Cat
если бы я мог контроллировать то, что они возвращают после unwrap
Судзумия
Cat
хм
Cat
пойду грепну, наверняка же наговнокодил
Loo
Alexander
LexsZero
всмысле нету?
LexsZero
есть стандартные классы и wireshark
Денис
ну они как бы есть
Денис
но производителям насрать
LexsZero
ну если у тебя там какой-нибудь блютус-дилдак, то да
LexsZero
а всякие колонки вполне себе класс-компатибл
Денис
хз, xiaomi-девайсы для "умного" дома подходят под классификацию дилдаков?
Денис
или девайс, чтобы крутить вентели на батарее отопления?
պլհկ
Они же вайфайные
Денис
Денис
датчики температуры всяческие
պլհկ
https://github.com/sgbasaraner/yeelight-cli
Денис
as long as your device supports
Денис
да не, там на самом деле никаких прям вот пипец сложностей нет, везде протоколы действительно ваершарком на глаз определяются почти всегда
Денис
но один фиг это надо делать
պլհկ
@LooMaclin у тебя ж сапортс?
Денис
например, у них есть девайсы, которые измеряют влажность/освещение/проводимость почвы для автоматизирования выращивания понятно чего
պլհկ
Воу воу
Денис
можно было бы ожидать, что тот же протокол подойдёт и для датчика, который измеряет комнатную температуру/влажность
Денис
но нет, это было бы слишком просто
Денис
https://github.com/kipe/miplant
Loo
Нави
нифига что то не хочет сдвигать и обновлять циклический буфер:
thread '<unnamed>' panicked at 'called Result::unwrap() on an Err value: CapacityError: insufficient capacity', libcore/result.rs:945:5
note: Run with RUST_BACKTRACE=1 for a backtrace.
правда я использую в качестве значений сложные json-данные, которые получаю с интернет-запроса, и наверно из-за этого он и ругается
Нави
главное первично заполнить он сумел, а после нехочет
Маjко
Сделай пример на плейграунд или в гист
պլհկ
Да там арэй на 10, он пихает 11й
Нави
Да там арэй на 10, он пихает 11й
Пытаюсь одно значение протолкнуть, push_front и insert ругается той ошибкой, а extend_front как и понятно ничего не делает в заполненном буфере
պլհկ
Какой крейт юзаешь?
պլհկ
https://docs.rs/arraydeque/0.4.2/arraydeque/behavior/index.html#wrapping
Нави
Cat
պլհկ
По дефолту Saturating там