Evgεny
Rostyslav
Для тех, кто вчера помогал мне. Я решил немного изменить подход и делать так, для удаления ноды: 1) Значение нужной ноды изменить на None. 2) Пройтись по дереву и удалить дочерние ноды у нод, у которых значение None. Правда для выполнения первого пункта нужно 1) Знать иерархию дерева. И прописывать её вручную, соотв. 2) Сделать значение pub, для доступа к нему. В итоге, код ужасно выглядит, но работает. Есстественно, оставлять так не буду, но это уже хотя бы что-то. Вот коммит: https://github.com/AtomicInteger/one_more_dstruct/commit/dc03e0dcde710d6659b4e624b1870cce423a934d @mexus @lundibundi Может будет интересно)
Denys
Для тех, кто вчера помогал мне. Я решил немного изменить подход и делать так, для удаления ноды: 1) Значение нужной ноды изменить на None. 2) Пройтись по дереву и удалить дочерние ноды у нод, у которых значение None. Правда для выполнения первого пункта нужно 1) Знать иерархию дерева. И прописывать её вручную, соотв. 2) Сделать значение pub, для доступа к нему. В итоге, код ужасно выглядит, но работает. Есстественно, оставлять так не буду, но это уже хотя бы что-то. Вот коммит: https://github.com/AtomicInteger/one_more_dstruct/commit/dc03e0dcde710d6659b4e624b1870cce423a934d @mexus @lundibundi Может будет интересно)
Я может что-то не понял, но что мешало сделать метод ремув чайлд (индекс или ещё что) который бы просто удалял из массива детей нужный елемент? (Так же, лучше использовать хеш Мапу или что-то подобное вместо массива потому что удаление елемента приводит к изменению структуры дерева в случае вектора)
Denys
Тебе бы все равно нужно было добраться до корня в котором этот ребенок но не было бы такого странного зануления
Denys
Так же, я не совсем уверен, но тебе точно нужен оптион на месте значения? Я бы понял в массиве детей что б показать что нет его там (в таком случае можно и вектор юзать)
Rostyslav
Вот насчет другой структуры, типа хешмапа, это, наверное, вариант.
Rostyslav
Ну или, как минимум, улучшение.
Denys
Но если дети чисто по номеру лучше век с оптион или спарс аррей как по мне
Denys
Ты не можешь достать все елементы из вектора как мутабл
Denys
Это нарушает идею про один мутабл поинтер
Denys
Даже несмотря на то что в теории это безопасно
Rostyslav
Это нарушает идею про один мутабл поинтер
Ну да, вот поэтому я и думаю, как бы это архитектурно изменить.
Denys
Так же, мне кажется есть либа которая с ансейф но безопасным апи позволяет это делать, но не уверен
Denys
Кроме того ты можешь использовать interior mutability если тебе подходит такой вариант
պլհկ
https://www.reddit.com/r/rust/comments/8bajcu/request_for_review_rcctree_a_domlike_tree_that/dx5ophr/
Great
приветствую. Мне тут понадобилась очень странная вещь - выполнение bash-скрипта из раста. В какую сторону копать? Не спрашивайте, кого и за что я так ненавижу :)
պլհկ
std::process::Command
Great
благодарю
Нави
Придумал вот такой костыль: https://play.rust-lang.org/?gist=ed11f0fad855b37a17a346dcdfd51232&version=undefined Подскажите пожалуйста, какие растовские возможности есть?
Нави
У меня вопрос, лёгкие потоки в расте как то развиваются?
Kerrigan
нет, гринтреды всё
պլհկ
Не нужны
Денис
^^ +1
Anonymous
Футуры вместо них
Kerrigan
как там делать свитч на футурах? Или они только одномаршрутные
Anonymous
select?
Nikita
Посоны, кто-нибудь переходил со скалы на раст? Интересуют футурки и асинхронщина
Влад
🤷‍♂️Хей, Rust-bois, у меня такой вопрос, хорошоая ли идея реализовывать веб-сервер на, неожиданно, Rust?
Kerrigan
возьми гипер и делай
Kerrigan
😭
Влад
😭
что то по этому эмоджи мне кажеться что это не так-то просто... Или что ты этим хотел выразить?
Влад
Да, я как раз пока не умею (пока)
Kerrigan
тогда дуй изучать
Cat
А чому гринтреды так не любят в расте?
Kerrigan
потому что их там нет
Cat
🤔
Cat
Справедливо
Kerrigan
они были в самом начале, а потом авторы сказали, что ненужно
Cat
По-моему там было не "не нужно", а "мы не знаем как правильно"
Kerrigan
это уже не ко мне вопрос
Cat
Лан
Kerrigan
постоянно забываю как hkt расшифровывается, буду называть их хеккер-кеккер-тайпс
Kerrigan
но сначала футуры
Влад
агась
Cat
они и про HKT так говорят
Типы высшего порядка?
Kerrigan
Higher kinded types
я нагуглил, спасибо
Cat
Очень даже любят
Почему тогда не сделают?
Cat
Нелюди
Судзумия
Cat
Слишком сложно
Kerrigan
я не понял что там вообще про хкт написано, а на футурах хотя бы что-то написать можно
Kerrigan
//неважно что оно не соберется, это другой вопрос
Kerrigan
во, даже ты не понимаешь
Влад
я не понял что там вообще про хкт написано, а на футурах хотя бы что-то написать можно
чувак предлагает это https://github.com/rust-lang/rust/issues/8922#issuecomment-48247411
Nikita
А в чем причина перехода?)
Производительность
Kerrigan
> One idea I was toying around
Kerrigan
дальше можно не читать
Kerrigan
это типы, типизированные другими типами или как это отличается от тех же генериков?
ㅤ
Игрушечные типы
Влад
это типы, типизированные другими типами или как это отличается от тех же генериков?
Я не знаю инстанцируеться ли в Раст генерики как в Си, но если сравнивать с си, то компилятор сможет дать внятный ответ, где неправильный тип (или где был неправильно он применён, чтото в роде этого)
Влад
возьми гипер и делай
кста, спасибо.. А что скажете на счёт Iron?
Kerrigan
как и никель
Влад
kek, как так, не успел я о нём узнать
Kerrigan
живые вроде гипер, рокет и actix-web(ЛЕЕЕЕЕЕ)