Запитання з тегом «rust»

Іржа - це система програмування без сміттєзбірника, орієнтована на три цілі: безпеку, швидкість та сумісність. Використовуйте цей тег для запитань про код, написаний на "Іржа". Використовуйте тег для видання для запитань, що стосуються коду, який вимагає певного видання, наприклад [rust-2018]. Використовуйте більш конкретні теги для підтемати, наприклад [іржа-вантаж] та [іржа-макрос].

11
Як отримати доступ до параметрів командного рядка?
Підручник « Іржа» не пояснює, як приймати параметри з командного рядка. fn main()відображається лише з порожнім списком параметрів у всіх прикладах. Який правильний спосіб доступу до параметрів командного рядка main?
153 command-line  rust 

5
Чому виконуючі іржі такі величезні?
Щойно знайшовши Руста і прочитавши перші два глави документації, я вважаю підхід і те, як вони визначили мову особливо цікавими. Тому я вирішив змочити пальці і почав з Hello world ... Я робив це на Windows 7 x64, btw. fn main() { println!("Hello, world!"); } Видаючи cargo buildі дивлячись на …
153 rust  rust-cargo 

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

5
Як розділити рядок у Rust?
З документації незрозуміло. У Java ви можете використовувати такий splitметод, як: "some string 123 ffd".split("123");
143 rust 

3
Як створити глобальний мутаційний сингл?
Який найкращий спосіб створити та використовувати структуру з однією інстанцією в системі? Так, це необхідно, це саме підсистема OpenGL, і створення декількох копій цього і передача його скрізь додасть плутанину, а не полегшить її. Сінглтон повинен бути максимально ефективним. Зберігати довільний об'єкт на статичній ділянці не представляється можливим, оскільки він …
140 rust 

1
Який де-факто спосіб читання та запису файлів у Rust 1.x?
Оскільки Руст був порівняно новим, я бачив занадто багато способів читання та запису файлів. Багато з них є надзвичайно брудними фрагментами, які хтось придумав для свого блогу, і 99% прикладів, які я знайшов (навіть на переповнення стека), є з нестабільних конструкцій, які більше не працюють. Тепер, коли 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 і збирається без помилок. Зараз я намагаюся розділити головний модуль на два, але не можу зрозуміти, …
130 rust 

4
Як працює 128-розрядний цілий `i128` Руста на 64-бітній системі?
Іржа має 128-бітні цілі числа, вони позначаються типом даних i128(і u128для непідписаних вкладишів): let a: i128 = 170141183460469231731687303715884105727; Як Rust змушує ці i128значення працювати в 64-бітній системі; наприклад, як це робить арифметику на них? Оскільки, наскільки я знаю, значення не може вміститися в одному реєстрі процесора x86-64, чи компілятор якось …

3
Яка різниця між копією та клоном?
Здається, ця проблема передбачає, що це лише детальна інформація про впровадження ( memcpyпроти ???), але я не можу знайти явного опису відмінностей.
128 rust 

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 borrowed …

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 } Однак я отримав …

3
Який еквівалент оператора з'єднання над вектором Strings?
Мені не вдалося знайти еквівалент іржі для оператора "приєднання" через вектор 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
Що робить "нехай 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.