Size: a a a

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

2020 November 02

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Tommy
Всегда можно пойти писать на golang, думаю, дело закрыто🤗
Да, расходимся :)
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Semen
Язык не учится одну неделю или месяц. Зато рынок через год может измениться процентов на 20% в ту или иную сторону. Я на перспективу смотрю.
Тут нет Ванги, никто не может вам будущее предсказать 😄 Поэтому, чтобы вам тут не сказали, все модет как произойти, так и не произойти, поэтому максимум, модете посмотреть графики популярности языков в рейтингах типа Tiobe и подобных
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
Предположим у меня Arc<структура>, в которой если поле String. Нужно скопировать из нее значение.
Анонимный опрос
50%
x.clone
13%
x.to_owned
0%
&(x).into
5%
*&x
5%
unsafe String::from_raw_parts
27%
Другой вариант
Проголосовало: 56
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
значение поля строчки*
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
x.string_field -> String
источник

A

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

A

Adevald in Rust — русскоговорящее сообществo
src/smth/mod.rs // Пишу пишу mod util тут, но он пытается искать в src/smth/util
src/util/mod.rs
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
Adevald
src/smth/mod.rs // Пишу пишу mod util тут, но он пытается искать в src/smth/util
src/util/mod.rs
"mod" выстраивает иерархию модулей, "use" переносит имена между пространствами. "обратиться к модулю" обычно про второе говорят
источник

A

Adevald in Rust — русскоговорящее сообществo
тобишь для доступа к чему-либо следует именно use даже в контексте одного проекта использовать?
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikóv
"mod" выстраивает иерархию модулей, "use" переносит имена между пространствами. "обратиться к модулю" обычно про второе говорят
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
Обычно так делают, конечно. Но ничего не мешает обращаться и просто по полным путям, начиная с crate.
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
"mod utils;" в main.rs не забыл?
источник

A

Adevald in Rust — русскоговорящее сообществo
А он там зачем?
Сейчас напишу
источник

A

Adevald in Rust — русскоговорящее сообществo
Видимо не совсем понимаю как работают модули
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
В расте явным образом выстраивается иерархия модулей крейта - просто что файл в директории лежит мало. Перечитай растбук про модули, вроде там неплохо расписано было
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikóv
В расте явным образом выстраивается иерархия модулей крейта - просто что файл в директории лежит мало. Перечитай растбук про модули, вроде там неплохо расписано было
Благодарствую за пояснение
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Adevald
Видимо не совсем понимаю как работают модули
Я для себя вот так это всё объясняю. Для компилятора rust нет ни каких файлов. Он просто обрабатывает поток строк. Но есть некий пре-процессинг, который строки вида:
mod <mod_name>;
заменяет в этом потоке на:
mod <mod_name> {
  <content of file mod_name.rs or mod_name/mod.rs>
}
Поэтому наличие в main.rs или lib.rs инструкции mod - первично и обязательно, т.к. расту плевать на файлы которые лежат рядом просто так.
источник

A

Adevald in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Я для себя вот так это всё объясняю. Для компилятора rust нет ни каких файлов. Он просто обрабатывает поток строк. Но есть некий пре-процессинг, который строки вида:
mod <mod_name>;
заменяет в этом потоке на:
mod <mod_name> {
  <content of file mod_name.rs or mod_name/mod.rs>
}
Поэтому наличие в main.rs или lib.rs инструкции mod - первично и обязательно, т.к. расту плевать на файлы которые лежат рядом просто так.
Смысл имеет
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
∅ ч
Предположим у меня Arc<структура>, в которой если поле String. Нужно скопировать из нее значение.
Анонимный опрос
50%
x.clone
13%
x.to_owned
0%
&(x).into
5%
*&x
5%
unsafe String::from_raw_parts
27%
Другой вариант
Проголосовало: 56
x.field.clone()
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
∅ ч
Предположим у меня Arc<структура>, в которой если поле String. Нужно скопировать из нее значение.
Анонимный опрос
50%
x.clone
13%
x.to_owned
0%
&(x).into
5%
*&x
5%
unsafe String::from_raw_parts
27%
Другой вариант
Проголосовало: 56
скопировать?

ууу.

интереснее заимствовать.


да и вариант to_string никто не отменял:) а его неть. (и он максимально прозрачен для Deref, сделает именно копирование и он существует отдельно для String(помоему сделает для String только to_owned или clone) и для всего того что можно Display)
источник