Size: a a a

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

2020 February 26

S

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

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
м, вижу в тестах, можно. Круто!
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
SET001
да я и его гляну но я ж язык учу, хочу понять почему такая простая в моей голове концепция закончилиась провалом и столькими страданиями
Не поленись все-таки, прочитай уже https://doc.rust-lang.org/book/
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Vladyslav Batyrenko
А там можно прямо группой вставлять?
Кстати можно.
источник

MS

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

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
JS/TS
источник

MS

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

MS

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

S

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

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
через Box я тоже могу все разместить в куче
источник

MS

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

S

SET001 in RU Rust GameDev — русскоговорящее сообщество
просто в ts я бы сделал к примеру Components<any>[] и все, а тут мне нужно как-то дать понять что будет в векторе и понеслась...
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
SET001
ну а что мне мешает тут сделать то же
В Rust нельзя будет получить информацию, какой конкретно тип лежит в dyn Component (если брать твой пример)
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Vladyslav Batyrenko
В Rust нельзя будет получить информацию, какой конкретно тип лежит в dyn Component (если брать твой пример)
Ну можно, но через такой же бойлерплейт как с матчем.
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
(и на самом деле хуже)
источник

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
SET001
просто в ts я бы сделал к примеру Components<any>[] и все, а тут мне нужно как-то дать понять что будет в векторе и понеслась...
Спекс тот компонент который ты ему скормил должен положить в массив из таких же компонентов.
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
SET001
просто в ts я бы сделал к примеру Components<any>[] и все, а тут мне нужно как-то дать понять что будет в векторе и понеслась...
Вспомни еще сигнатуру метода with. Он там принимает дженерик тип. В Rust, как и в TS, в дженерики тип передается во время компиляции
источник

MS

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

MS

Mikola Summer Duck in RU Rust GameDev — русскоговорящее сообщество
Vladyslav Batyrenko
Вспомни еще сигнатуру метода with. Он там принимает дженерик тип. В Rust, как и в TS, в дженерики тип передается во время компиляции
А хотя any-тип случаем не сконвертируется автоматом в соответствующий конкретный в таком случае? В TS то есть
источник

V

Vladyslav Batyrenko in RU Rust GameDev — русскоговорящее сообщество
Ну в TS в случае попадания в аргумент значения с типом any, generic тип тоже был бы any
источник