Size: a a a

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

2020 March 29

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
Sergey
Теперь да и оно завелось, спасибо!
перечитай главу про модули, они немного не так устроены как в других языках
источник

f

folex in Rust — русскоговорящее сообществo
Алексей Герасимов
у него как раз по старому модули объявлены
вроде по новому, без extern? Хотя я не уверен, как оно “по старому”
источник

S

Sergey in Rust — русскоговорящее сообществo
Алексей Герасимов
перечитай главу про модули, они немного не так устроены как в других языках
Я по диагонали сейчас перечитал и сходу не уловил всего, поэтому тут спросил.
Но я почитаю еще вдумчивее, спасибо.
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
folex
вроде по новому, без extern? Хотя я не уверен, как оно “по старому”
по-новому это foo..rs и папка foo рядом
источник

f

folex in Rust — русскоговорящее сообществo
Sergey
То есть чтобы модули были доступны везде внутри крейта, их нужно явно экспортировать в main.rs?
в main.rs или в lib.rs, да.

Иначе эти модули вообще не подключены к проекту.
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
Sergey
Я по диагонали сейчас перечитал и сходу не уловил всего, поэтому тут спросил.
Но я почитаю еще вдумчивее, спасибо.
их надо явно включать в родительские модули чтобы они образовывали дерево
источник

f

folex in Rust — русскоговорящее сообществo
Алексей Герасимов
по-новому это foo..rs и папка foo рядом
А, понял.

Да, @selevit есть вариант код писать не в mod.rs, а сделать вот так:
main.rs
core.rs
core/exchange.rs


в core.rs тогда надо сделать: mod exchange
а в main.rs: mod core
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
folex
в main.rs или в lib.rs, да.

Иначе эти модули вообще не подключены к проекту.
не обязательно в корень все класть, можно иерархию делать. главное явно писать mod foo в родительском модуле
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
folex
А, понял.

Да, @selevit есть вариант код писать не в mod.rs, а сделать вот так:
main.rs
core.rs
core/exchange.rs


в core.rs тогда надо сделать: mod exchange
а в main.rs: mod core
но мне почему-то все равно по-старому больше нравится
источник

S

Sergey in Rust — русскоговорящее сообществo
folex
А, понял.

Да, @selevit есть вариант код писать не в mod.rs, а сделать вот так:
main.rs
core.rs
core/exchange.rs


в core.rs тогда надо сделать: mod exchange
а в main.rs: mod core
О, спасибо) А то с mod.rs как-то избыточно получается
источник

А

Александр in Rust — русскоговорящее сообществo
Подскажите, были ли у вас в vscode проблемы с RLS? После подключения крейта rls падает
источник

А

Александр in Rust — русскоговорящее сообществo
И даже стд не хочет выводить
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
да, бывало разное в разных версиях rls. с RA (https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer) опыт у меня в среднем намного более приятный.
источник

D

Denis in Rust — русскоговорящее сообществo
да, последнее время rust analyzer на порядок лучше работает, чем rls
источник

В

Вафель in Rust — русскоговорящее сообществo
folex
А, понял.

Да, @selevit есть вариант код писать не в mod.rs, а сделать вот так:
main.rs
core.rs
core/exchange.rs


в core.rs тогда надо сделать: mod exchange
а в main.rs: mod core
Можно ещё так:

core/exchange.rs
lib|main.rs:
mod core {
   mod exchange;
}
источник

f

folex in Rust — русскоговорящее сообществo
Вафель
Можно ещё так:

core/exchange.rs
lib|main.rs:
mod core {
   mod exchange;
}
ого! Круто, не знал. Спасибо!
источник

В

Вафель in Rust — русскоговорящее сообществo
Не за что! Вообще часто так делаю т.к. такие промежуточные модули, в которых только дочерние модули и есть — не редкость
источник

p

polunin.ai in Rust — русскоговорящее сообществo
в расте есть структура данных, у которой можно убирать и добавлять элементы куда угодно? LinkedList позволяет только в конец/начало.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Сет
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Если надо удалять элемент с позиции, то ищи на crates.io что-то типа rope
источник