Вопросы с тегом «rust»

Rust - это язык системного программирования без сборщика мусора, ориентированный на три цели: безопасность, скорость и параллелизм. Используйте этот тег для вопросов о коде, написанном на Rust. Используйте специальный тег для вопросов, относящихся к коду, для которого требуется конкретное издание, например [rust-2018]. Используйте более конкретные теги для таких подтем, как [rust-cargo] и [rust-macros].

11
Как получить доступ к параметрам командной строки?
В руководстве по Rust не объясняется, как получить параметры из командной строки. fn main()отображается только с пустым списком параметров во всех примерах. Как правильно получить доступ к параметрам командной строки из main ?
153 command-line  rust 

5
Почему исполняемые файлы Rust такие большие?
Просто найдя Rust и прочитав первые две главы документации, я нахожу подход и способ определения языка особенно интересными. Поэтому я решил намочить пальцы и начал с Hello world ... Я сделал это на Windows 7 x64, кстати. fn main() { println!("Hello, world!"); } Выдав cargo buildи посмотрев на результат, targets\debugя …
153 rust  rust-cargo 

2
Как программа Rust может получить доступ к метаданным из своего пакета Cargo?
Как получить доступ к метаданным пакета Cargo (например, версии) из кода Rust в пакете? В моем случае я создаю инструмент командной строки, который хотел бы иметь стандартный --versionфлаг, и я хотел бы, чтобы реализация считывала версию пакета, Cargo.tomlпоэтому мне не нужно поддерживать ее в двух местах. Я могу представить, что …
150 rust  rust-cargo 


3
Как создать глобальный изменяемый синглтон?
Как лучше всего создать и использовать структуру только с одним экземпляром в системе? Да, это необходимо, это подсистема OpenGL, и создание нескольких ее копий и их распространение повсюду добавят путаницы, а не уменьшат ее. Синглтон должен быть максимально эффективным. Кажется невозможным хранить произвольный объект в статической области, поскольку он содержит …
142 rust 

1
Каков де-факто способ чтения и записи файлов в Rust 1.x?
Поскольку Rust был сравнительно новым, я видел слишком много способов чтения и записи файлов. Многие из них представляют собой чрезвычайно запутанные фрагменты, которые кто-то придумал для своего блога, и 99% примеров, которые я нашел (даже в Stack Overflow), относятся к нестабильным сборкам, которые больше не работают. Теперь, когда Rust стабилен, …
136 file-io  rust 


3
Как подключить модуль из другого файла из того же проекта?
Следуя этому руководству, я создал проект Cargo. src/main.rs fn main() { hello::print_hello(); } mod hello { pub fn print_hello() { println!("Hello, world!"); } } который я использую cargo build && cargo run и компилируется без ошибок. Теперь я пытаюсь разделить основной модуль на две части, но не могу понять, как …
131 rust 

4
Как 128-битное целое число i128 в Rust работает в 64-битной системе?
Rust имеет 128-битные целые числа, они обозначаются типом данных i128(и u128для целых чисел без знака): let a: i128 = 170141183460469231731687303715884105727; Как Rust заставляет эти i128значения работать в 64-битной системе; например, как он делает с ними арифметические операции? Поскольку, насколько мне известно, значение не может поместиться в один регистр процессора x86-64, …


2
Почему не рекомендуется принимать ссылку на String (& String), Vec (& Vec) или Box (& Box) в качестве аргумента функции?
Я написал код на Rust, который принимает &Stringв качестве аргумента: fn awesome_greeting(name: &String) { println!("Wow, you are awesome, {}!", name); } Я также написал код, который принимает ссылку на Vecили Box: fn total_price(prices: &Vec<i32>) -> i32 { prices.iter().sum() } fn is_even(value: &Box<i32>) -> bool { **value % 2 == 0 …

1
Невозможно выйти из заимствованного контента / не может выйти из-за общей ссылки
Я не понимаю ошибки cannot move out of borrowed content. Я получал ее много раз и всегда решал ее, но никогда не понимал почему. Например: for line in self.xslg_file.iter() { self.buffer.clear(); for current_char in line.into_bytes().iter() { self.buffer.push(*current_char as char); } println!("{}", line); } выдает ошибку: error[E0507]: cannot move out of …

3
Что эквивалентно оператору соединения над вектором строк?
Мне не удалось найти в Rust эквивалент оператора «соединения» над вектором Strings. У меня есть Vec<String>и я хотел бы присоединиться к ним как сингл String: let string_list = vec!["Foo".to_string(),"Bar".to_string()]; let joined = something::join(string_list,"-"); assert_eq!("Foo-Bar", joined); Связанный: Какой идиоматический способ распечатать итератор через пробел в Rust?
120 string  rust 

2
Что делает let x = x в Rust?
Я видел этот код в дикой природе : fields.sort_by_key(|&(_, ref field)| field.tags().into_iter().min().unwrap()); let fields = fields; Что делает let fields = fields;линия? Почему это там?
117 rust 

1
Как правильно вернуть итератор (или любую другую черту)?
Следующий код Rust компилируется и запускается без проблем. fn main() { let text = "abc"; println!("{}", text.split(' ').take(2).count()); } После этого я пробовал что-то вроде этого .... но он не компилировался fn main() { let text = "word1 word2 word3"; println!("{}", to_words(text).take(2).count()); } fn to_words(text: &str) -> &Iterator<Item = &str> …
114 rust 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.