Size: a a a

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

2020 February 26

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Но с ним тоже придётся матчить по опциональным значениям — тебе в любом случае нужно каким-то образом узнать что конкретно за компонент у тебя.
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
это какой-то долбаный ужас
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
лучше навешу на компоненты какой-то фейковый простой трейт и буду выбирать по нему
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
SET001
это какой-то долбаный ужас
Почему?
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Только хотел предложить трейты.
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
polunin.ai
Почему?
ну допустим у меня больше сотни компонентов и как будет выглядеть код?
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
polunin.ai
Почему?
Точнее так: ничего лучше нет ни в одном языке
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
SET001
ну допустим у меня больше сотни компонентов и как будет выглядеть код?
Если у тебя сотни компонентов, твой код будет выглядеть хуево в любом случае
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Только хотел предложить трейты.
то-есть это не самая глупая идея?
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
Есть моменты, которые ни в одном языке нормально не сделаны, просто потому что невозможно. Например работа со строками.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Можешь заставить свои компоненты реализовывать свой трейт AddToBuilder. Таким образом твой вектор будет типа Vec<Box<dyn AddToBuilder>>, на каждом элементе вектора ты будешь вызывать comp.add_to_builder(&mut builder).
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
И побеждать.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
polunin.ai
Есть моменты, которые ни в одном языке нормально не сделаны, просто потому что невозможно. Например работа со строками.
А как же перл?
источник

p

polunin.ai in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
А как же перл?
Хз как там
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
polunin.ai
Хз как там
Ну скажем так, он ближе остальных приблизился к правильной работе со строками.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Можешь заставить свои компоненты реализовывать свой трейт AddToBuilder. Таким образом твой вектор будет типа Vec<Box<dyn AddToBuilder>>, на каждом элементе вектора ты будешь вызывать comp.add_to_builder(&mut builder).
Минус в том, что этот трейт всё равно нужно будет реализовать для каждого компонента, так что на самом деле ты от бойлерплейта не избавишься, просто код добавления компонентов станет чище.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Ещё можно действительно сделать как в аметисте и работать с генеричными тюплами.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Но в том случае тебе тоже нужно явно определить какие компоненты ты будешь использовать, динамически не получится.
источник

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
Mikola Summer Duck
Минус в том, что этот трейт всё равно нужно будет реализовать для каждого компонента, так что на самом деле ты от бойлерплейта не избавишься, просто код добавления компонентов станет чище.
так я могу пустой какой-то трейт добавить просто чтоб можно было по этому трейту вектор сформировтаь
источник