Dlaczego Rust ma Stringi str? Jakie są różnice między Stringi str? Kiedy używa się Stringzamiast stri odwrotnie? Czy jeden z nich staje się
Rust to język programowania systemów bez garbage collectora, który koncentruje się na trzech celach: bezpieczeństwie, szybkości i współbieżności. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w Rust. W przypadku pytań odnoszących się do kodu wymagającego określonej edycji, np. [Rust-2018], użyj tagu specyficznego dla wydania. Użyj bardziej szczegółowych tagów dla tematów podrzędnych, takich jak [ładunek rdzy] i [makra rdzy].
Dlaczego Rust ma Stringi str? Jakie są różnice między Stringi str? Kiedy używa się Stringzamiast stri odwrotnie? Czy jeden z nich staje się
Mam proste wywołanie usługi internetowej, wygenerowane przez aplikację systemu Windows .NET (C #) 2.0, za pośrednictwem proxy usługi internetowej wygenerowanej przez Visual Studio, dla usługi internetowej napisanej również w C # (2.0). Działało to od kilku lat i nadal działa w kilkunastu miejscach,...
O ile mi wiadomo, aliasing odniesień / wskaźników może utrudniać kompilatorowi generowanie zoptymalizowanego kodu, ponieważ muszą one zapewnić, że wygenerowany plik binarny zachowuje się poprawnie w przypadku, gdy dwa odniesienia / wskaźniki faktycznie są aliasami. Na przykład w poniższym kodzie...
Wdrożyłem następującą metodę i test jednostkowy: 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!("{}",...
Mam następujące: let mut my_number = 32.90; Jak wydrukować typ my_number ? Używanie typei type_ofnie działało. Czy istnieje inny sposób wydrukowania typu
Podczas uruchamiania pętli sumy nad tablicą w Rust zauważyłem ogromny spadek wydajności, gdy CAPACITY> = 240. CAPACITY= 239 jest około 80 razy szybszy. Czy istnieje specjalna optymalizacja kompilacji, którą Rust robi dla „krótkich” tablic? Kompilowany z 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 Ponownie włączę te ostrzeżenia dla czegoś poważnego, ale po prostu...
Mam wartość i chcę przechowywać tę wartość i odwołanie do czegoś wewnątrz tej wartości we własnym typie: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing,...
Jak połączyć następujące kombinacje typów: str i str String i str String i
Czytałem rozdział poświęcony wcieleniom księgi Rdza i natknąłem się na ten przykład dla nazwanego / jawnego życia: 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...
Próbuję wymyślić, jak dopasować a Stringw Rust. Początkowo próbowałem dopasować w ten sposób, ale doszedłem do wniosku, że Rust nie może pośrednio rzucać od std::string::Stringdo &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" =>...
Chciałbym stworzyć pakiet Rusta zawierający zarówno bibliotekę wielokrotnego użytku (w której zaimplementowana jest większość programu), jak i plik wykonywalny, który z niej korzysta. Zakładając, że nie pomyliłem żadnej semantyki w systemie modułów Rusta, jak powinien Cargo.tomlwyglądać mój...
Uwaga: to pytanie zawiera przestarzały kod sprzed wersji 1.0! Jednak odpowiedź jest prawidłowa. Aby przekonwertować a strna an intw Rust, mogę to zrobić: let my_int = from_str::<int>(my_str); Jedyny sposób, w jaki wiem, jak przekonwertować a Stringna an, intto uzyskać jego kawałek, a...
Uczę się / eksperymentuję z Rustem i pomimo całej elegancji, jaką znajduję w tym języku, jest jedna osobliwość, która mnie zaskakuje i wydaje się zupełnie nie na miejscu. Rdza automatycznie odrzuca wskaźniki podczas wykonywania wywołań metod. Zrobiłem kilka testów, aby ustalić dokładne...
Robię samouczek dotyczący Rust by Example, który zawiera ten fragment kodu: // 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...
Cechy w Rust wydają się przynajmniej powierzchownie podobne do typeklas w Haskell, jednak widziałem, jak ludzie piszą, że są między nimi pewne różnice. Zastanawiałem się dokładnie, jakie są te
Poradnik Rust nie wyjaśnia, w jaki sposób podjąć parametrów z linii poleceń. fn main()jest wyświetlany tylko z pustą listą parametrów we wszystkich przykładach. Jaki jest prawidłowy sposób uzyskiwania dostępu do parametrów wiersza poleceń
Po znalezieniu Rusta i przeczytaniu dwóch pierwszych rozdziałów dokumentacji uważam, że podejście i sposób, w jaki zdefiniowali język, są szczególnie interesujące. Postanowiłem więc zmoczyć palce i zacząłem od Hello world ... Zrobiłem to na Windows 7 x64, przy okazji. fn main() {...
Jak uzyskać dostęp do metadanych pakietu Cargo (np. Wersji) z kodu Rusta w pakiecie? W moim przypadku buduję narzędzie wiersza poleceń, które chciałbym mieć standardową --versionflagę i chciałbym, aby implementacja czytała wersję pakietu z, Cargo.tomlwięc nie muszę go utrzymywać w dwóch miejscach....
Ponieważ Rust jest stosunkowo nowy, widziałem zbyt wiele sposobów czytania i zapisywania plików. Wiele z nich to wyjątkowo niechlujne fragmenty, które ktoś wymyślił na swoim blogu, a 99% przykładów, które znalazłem (nawet w przypadku przepełnienia stosu) pochodzi z niestabilnych kompilacji,...