Size: a a a

2020 August 14

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
Да да да. Я возражал лишь что все это хорошо. В целом нейтрально, слабое свидетельство проблем языка. Чсх не пользуюсь автогенерацией свитча)
а я пользуюсь, очень удобно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
а я пользуюсь, очень удобно
У вас енумов побольше, язык хочет закрыто писать открытое
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
У вас енумов побольше, язык хочет закрыто писать открытое
просто надо пользоваться подходящим инструментом: энумы для закрытых иерархий, тайпклассы(абстрактный классы) для открытых
источник

AZ

Alex Zhukovsky in rust_offtopic
а когда первых нет и все костылят через второй то наверное выглядит лишним, да
источник

AZ

Alex Zhukovsky in rust_offtopic
но это просто как пример
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
а когда первых нет и все костылят через второй то наверное выглядит лишним, да
обычно как раз закрытые иерархии штампуют там, где они открытые
источник

AZ

Alex Zhukovsky in rust_offtopic
и это не показатель проблемы языка, просто некоторая избыточность с которой приходится мириться. Альтернатива хуже. У тебя наверняка есть копипаста в проекте, которую нецелесообразно объединять потому что это слишком сложно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
и это не показатель проблемы языка, просто некоторая избыточность с которой приходится мириться. Альтернатива хуже. У тебя наверняка есть копипаста в проекте, которую нецелесообразно объединять потому что это слишком сложно
свидетельство проблемы (в баейсовоском смысле)
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
обычно как раз закрытые иерархии штампуют там, где они открытые
ну неправда. Классический пример - жсон. Там всего 8 вариантов токенов, смысла их открытми делать никакого. То же самое Успех/ошибка. И так далее
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
свидетельство проблемы (в баейсовоском смысле)
ну ок, тогда проблема в сложности нашего бытия
источник

AZ

Alex Zhukovsky in rust_offtopic
решается только самовыпилом.
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ну неправда. Классический пример - жсон. Там всего 8 вариантов токенов, смысла их открытми делать никакого. То же самое Успех/ошибка. И так далее
ага, только таких примеров очень мало, а вот вштамповать shape = variant<cirile, rectangle> очень часто видишь)
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
ага, только таких примеров очень мало, а вот вштамповать shape = variant<cirile, rectangle> очень часто видишь)
нечасто
источник

AZ

Alex Zhukovsky in rust_offtopic
по крайней мере в расте я такого не вижу
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
как по ссылке,
enum Expr {
 I(i32),
 B(bool),
 Add(Box<Expr>, Box<Expr>),
 Mul(Box<Expr>, Box<Expr>),
 Eq(Box<Expr>, Box<Expr>),
}

Для
него не получится нормально eval написать
ага)
источник

AZ

Alex Zhukovsky in rust_offtopic
что? это как раз нормально
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
что? это как раз нормально
это открытая конструкция, которую закрыто записали
источник

CD

Constantine Drozdov in rust_offtopic
вы её пополнять собираетесь
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
это открытая конструкция, которую закрыто записали
нет, это закрытая конструкция которую не надо пополнять.

Когда пишут её в открытую получаются такие уродцы https://docs.microsoft.com/en-us/dotnet/api/system.linq.expressions.expressionvisitor?view=netcore-3.1#methods
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
нет, это закрытая конструкция которую не надо пополнять.

Когда пишут её в открытую получаются такие уродцы https://docs.microsoft.com/en-us/dotnet/api/system.linq.expressions.expressionvisitor?view=netcore-3.1#methods
не надо в смысле совершенно точно все узлы выписали?
источник