Макс
Может, есть где-то штука, которая умеет выбирать случайные элементы из списка на основе весов? Пишется вроде очевидно, но не хочется велосипед изобретать
-__-
Как предполагается по непрерывному распределению выбирать из дискретного вектора, может, я что-то не понимаю?
Макс
http://statisticsblog.com/probability-distributions/#sample Портирую с JS на Rust, на JS использовал вот такую библиотеку
-__-
Есть http://rust-num.github.io/num/rand/distributions/struct.WeightedChoice.html
Макс
Как предполагается по непрерывному распределению выбирать из дискретного вектора, может, я что-то не понимаю?
Да, по-идиотски объяснил. Непрерывное распределение я использовал просто для того, чтобы сгенерировать веса у каждого элемента в массиве
Макс
Есть http://rust-num.github.io/num/rand/distributions/struct.WeightedChoice.html
Супер, именно то, что нужно. Буду читать. Спасибо
Денис
ах вон оно чё)
Cat
Выбор по распределению же делается не так: Нужно сделать проекцию равномерного распределения через функцию распределения на другую ось
Макс
Выбор по распределению же делается не так: Нужно сделать проекцию равномерного распределения через функцию распределения на другую ось
Верно) Но я пока начал писать вопрос выше, не полностью ещё пропарсил собственно код на JS, который переношу
Макс
Не, всё равно туплю. Чем отличаются Sample и IndependentSample?
Макс
> The IndependentSample trait is for generating values that do not need to record state. Что это значит вообще :(
Макс
Какой именно state? Как именно обычный State трекает стейт?
Денис
лучше подскажите мне плиз, знатоки функциональщины в расте, как этот код переписать без цикла, чтобы не было мучительно больно? и да, не первой же ошибке всё должно заканчиваться fn select_path<I, P>(paths: I) -> Result<Option<P>> where I: IntoIterator<Item = P>, P: AsRef<Path>, { for path in paths { if check_path(&path)? { return Ok(Some(path)); } } Ok(None) }
RS
drop_while?
RS
вернее через skip_while как-нибудь
Денис
мб всё-таки take_while? :) ну и при ошибке мне надо фейлиться, а не просто заканчивать обработку
Денис
вообще про ошибку это я к тому, чтобы не предлагали заменить ? на .filter_map(Result::ok)
Денис
а что насчёт такого? fn select_path<I, P>(paths: I) -> Result<Option<P>> where I: IntoIterator<Item = P>, P: AsRef<Path>, { paths .into_iter() .filter_map(|path| match check_path(&path) { Ok(true) => Some(Ok(path)), Ok(false) => None, Err(e) => Some(Err(e)), }) .next() .map_or_else(|| Ok(None), |x| x.map(Some)) }
Cuno
боль
պլհկ
short circuiting в функциональном стиле всегда говнистее выглядит чем в императивном
Денис
в общем если вдруг кому захочется поразвлекаться — https://play.rust-lang.org/?gist=099998a0acb6491dca430f0d88f95f19&version=stable&mode=debug
Anton
посоны у меня вопрос из разряда двух стульев
Anton
короче я решил использовать как дерево сразу йогу
Anton
ибо все есть все можно
Anton
проблема в том что йога уже имеет свой контекст для своих стилей для лайаута, и у меня есть отдельно структура для работы со стилями, в которой там теги и все такое
Anton
и у меня собственно дилема, у меня получается что в контексте узла я собственно и храню стили, и при смене тега например, я сначала беру из ноды бокс, потом меняю тег и вот тут наступает момент когда мне нужно проставить новые стили для самого узла
Anton
но формально доступа к нему у меня нет
Anton
а создавать клон raw узла йоги которая также хранит контекст внутри контекста
Anton
это как то слишком рекурсивно выглядит, и глупо
Anton
как это можно решить архитектурно
Anton
потому что формально контекст можно дропнуть, и тогда словить ванильный сегфолт
Anton
ну или создавать оболочку уже поверх оригинальной йоги ,и переписывать все нужные методы с трансфером
Anton
и не использовать контекст вообще
Anton
но так получается еще больший костыль
Anton
а хде все господа мамкины архитекторы?
Маjко
Форкни уже йогу
Судзумия
Нафига докер раста FROM debian. Свежые зависимости не нужны, я так полагаю. Горит
Сергей
что за йога?
Evgεny
а че разве не растап ставишь любым способом а дальше само?
Судзумия
а че разве не растап ставишь любым способом а дальше само?
Ну мне скулайт3 нужен был, а он не растовый. В дебиане только старье, надо удалять и из сорцов ставить. И даже так какие-то проблемы были, не помню уже какие. Слинковаться долго не мог раст
Evgεny
а, понял
Evgεny
бедиан не нужон
Судзумия
Это так
Судзумия
Выглядишь как рекламобот
Anton
А вот у меня серьезнная проблема, двойные скобки снова не ставятся при println(); , буду систему сносить. @mexus
Anton
в настройки вообще не лез
Anton
именно
Anton
IDE вообще не выплняют свою задачу
Anton
а я им еще деньги платить должен
Латентный Бурят
А что за IDE?
Anton
CLion
Латентный Бурят
А в чём проблема поменять IDE, если не устраивает?
(((Sergey(not seresha))
Поставь vim
Cat
Поставь vim
VimL говно
(((Sergey(not seresha))
Ахаха
Латентный Бурят
Латентный Бурят
Я не нашёл вим, но давайте представим, что там вим.
(((Sergey(not seresha))
Но вообще пока мне на расте удобней в виме, чем в vs code
Денис
VimL говно
безусловно, но он для успешного использования вима не нужен
Денис
вообще
Cat
Если его не использовать, то вим только для чтения
Денис
конфиги, строго говоря, на нём написаны, но для написания конфигов не нужно ничего знать )
Денис
во-первых — далеко не все
Денис
во-вторых — это индефферентно
Cat
Короче, адепта емакса ты не переубедишь
Денис
))
Денис
блин, это не оффтоп-канал
Денис
спасибо, интересно получилось) но использовать я это, конечно, не буду))))
Dmitriy
А кто-нибудь из здесь присутствующих с neon-bindings работал?
Anton
Бля
Anton
Задал вопрос по архитектуре
Anton
Мамкины растоманы заглохли