Почему у Rust есть Stringи str? Каковы различия между Stringи str? Когда один использует Stringвместо strи наоборот? Один из них становится
Rust - это язык системного программирования без сборщика мусора, ориентированный на три цели: безопасность, скорость и параллелизм. Используйте этот тег для вопросов о коде, написанном на Rust. Используйте специальный тег для вопросов, относящихся к коду, для которого требуется конкретное издание, например [rust-2018]. Используйте более конкретные теги для таких подтем, как [rust-cargo] и [rust-macros].
Почему у Rust есть Stringи str? Каковы различия между Stringи str? Когда один использует Stringвместо strи наоборот? Один из них становится
У меня есть простой вызов веб-службы, сгенерированный приложением Windows .NET (C #) 2.0, через прокси веб-службы, сгенерированный Visual Studio, для веб-службы, также написанной на C # (2.0). Это работало в течение нескольких лет, и продолжает делать это в дюжине или около того местах, где он...
Насколько я знаю, псевдонимы ссылок / указателей могут препятствовать способности компилятора генерировать оптимизированный код, поскольку они должны обеспечивать правильное поведение сгенерированного двоичного файла в случае, когда две ссылки / указатели действительно являются псевдонимами....
Я реализовал следующий метод и модульный тест: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); }...
У меня есть следующее: let mut my_number = 32.90; Как мне распечатать тип my_number? Использование typeи type_ofне работает. Есть ли другой способ, которым я могу напечатать тип...
При выполнении цикла суммы над массивом в Rust я заметил огромное падение производительности, когда CAPACITY> = 240. CAPACITY= 239 примерно в 80 раз быстрее. Есть ли специальная оптимизация компиляции, которую Rust делает для «коротких» массивов? Составлено с rustc -C opt-level=3. use...
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default Я включу эти предупреждения снова для чего-нибудь серьезного, но я просто возиться...
У меня есть значение, и я хочу сохранить это значение и ссылку на что-то внутри этого значения в моем собственном типе: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 };...
Я пытаюсь выяснить, как соответствовать Stringв Rust. Первоначально я пытался подобрать, как это, но я понял, что Rust не может неявно приводиться std::string::Stringк &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" => println!("1"),...
Как объединить следующие комбинации типов: str и str String и str String и String
Я читал главу о жизни в книге Rust и наткнулся на этот пример для именованного / явного времени жизни: struct Foo<'a> { x: &'a i32, } fn main() { let x; // -+ x goes into scope // | { // | let y = &5; // ---+ y goes into scope let f = Foo { x: y }; // ---+ f goes into scope x =...
Я хотел бы сделать пакет Rust, который содержит как библиотеку многократного использования (где реализована большая часть программы), так и исполняемый файл, который ее использует. Если я не перепутал семантику в модульной системе Rust, как должен Cargo.tomlвыглядеть мой...
Примечание: этот вопрос содержит устаревший код до 1.0! Ответ правильный, хотя. Чтобы преобразовать strв intв Русте, я могу это сделать: let my_int = from_str::<int>(my_str); Единственный способ, которым я знаю, как преобразовать a Stringв a, intсостоит в том, чтобы получить его часть, а...
Я изучаю / экспериментирую с Rust, и при всей элегантности, которую я нахожу в этом языке, есть одна особенность, которая сбивает меня с толку и кажется совершенно неуместной. Rust автоматически разыменовывает указатели при вызове метода. Я сделал несколько тестов, чтобы определить точное...
Я делаю учебник Rust by Example, который имеет этот фрагмент кода: // Vec example let vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // `iter()` for vecs yields `&i32`. Destructure to `i32`. println!("2 in vec1: {}", vec1.iter() .any(|&x| x == 2)); // `into_iter()` for vecs yields `i32`....
Черты в Rust кажутся по крайней мере внешне похожими на классы типов в Haskell, однако я видел, как люди пишут, что между ними есть некоторые различия. Мне было интересно, что именно эти...
В руководстве по Rust не объясняется, как получить параметры из командной строки. fn main()отображается только с пустым списком параметров во всех примерах. Как правильно получить доступ к параметрам командной строки из main...
Просто найдя Rust и прочитав первые две главы документации, я нахожу подход и способ определения языка особенно интересными. Поэтому я решил намочить пальцы и начал с Hello world ... Я сделал это на Windows 7 x64, кстати. fn main() { println!("Hello, world!"); } Выдав cargo buildи посмотрев на...
Как получить доступ к метаданным пакета Cargo (например, версии) из кода Rust в пакете? В моем случае я создаю инструмент командной строки, который хотел бы иметь стандартный --versionфлаг, и я хотел бы, чтобы реализация считывала версию пакета, Cargo.tomlпоэтому мне не нужно поддерживать ее в двух...
Из документации не понятно. В Java вы можете использовать splitметод следующим образом: "some string 123