Tag: rust
Rost ist eine Sprache entwickelt, die für das schreiben sehr zuverlässige und schnelle software, die in einer einfachen Weise. Es kann verwendet werden, von der high-level-code unten, um die hardware-spezifischen code, und von den großen Eisen, um kleine Geräte.
3
Antworten
Was bedeutet TypeState zu finden in Bezug auf design-Sprache? Ich sah es erwähnt in einigen Gesprächen bezüglich einer neuen Sprache, die von mozilla namens Rost. InformationsquelleAutor Brad The App Guy | 2010-07-09
1
Antworten
Habe ich eine Funktion, die hat der Prototyp, wie weiter unten //opaque struct struct mosquitto; struct mosquitto *mosquitto_new(const char *id, bool clean_session, void *obj); In meinem c-code, nenne ich es wie folgt. struct mosquitto *m = mosquitto_new(buf,
2
Antworten
Gibt es verschiedene wrapper-Typen im Rost standard-Bibliothek: Die Zellen in der std::cell - Modul: Zelle und RefCell Die Referenz-gezählt-Wrapper, wie Rc und Arc. Die Typen in der std::sync - Modul: Mutex oder AtomicBool zum Beispiel Wie ich
1
Antworten
Ich verstehe nicht, warum Result existiert in Rust. Ich kann sehen, wie Option können nützlich sein, aber mit Result scheint nur zu erschweren-code unnötig. Betrachten Sie das folgende Beispiel: #[derive(PartialEq, Eq, Debug)] enum MyErr { None, FailOne,
1
Antworten
In Ruby, ich könnte dies tun. aaa = "AAA" bbb = "BBB #{aaa}" puts(bbb) > "BBB AAA" Den Punkt dieser syntax ist die Beseitigung von Wiederholungen, und machen es zu fühlen, wie ein shell-Skript, - ideal für
2
Antworten
Meine Rost-code abstürzt, irgendwo in Rost-http und ich habe keine Ahnung, wie das zu Debuggen. Bekomme ich diese Fehlermeldung wenn ich es ausführen: $ ./target/ecmiwc -i www.google.com -u testuser -v test task '<main>' failed at 'called `Option::unwrap()`
3
Antworten
Es scheint, wie jedes einführende Dokument für Rost ist enum-Typen erklärt, wie match auf ein enum-Objekt, das Sie eigenen, aber was ist, wenn Sie nicht selbst das enum-Objekt, und Sie müssen nur einen Verweis darauf, dass Sie
1
Antworten
Ich versuche zu lernen rust aus dem tutorial. Ich dachte Conway ' s Spiel des Lebens wäre ein guter Ort, um zu starten. Ich habe Schwierigkeiten zu verstehen, wie diese zu schreiben Grid::new() fn. Hier ist, was
2
Antworten
Wie ziehe ich einen Verweis aus einem Option und übergeben Sie es zurück mit der spezifischen Lebensdauer der Anrufer? Speziell, ich möchte mir einen Verweis auf eine Box<Foo> aus einer Bar hat eine Option<Box<Foo>> in es. Ich
2
Antworten
Rost bekommt konkretisiert sich mehr und mehr mein Interesse an beginnt es zu wecken. Ich Liebe die Tatsache, dass es unterstützt algebraische Datentypen und insbesondere das matching von denen, aber gibt es irgendwelche Gedanken gemacht, auf andere
2
Antworten
Ich Lerne Rost, aber wenn ich drucken Sie eine decimal-Zahl, wird nur der ganzzahlige Teil ist gedruckt, nicht dem dezimalen Teil: fn main(){ println!("{:.3}", 22/7); } //This only show 3 aber wenn ich drucken Sie die Dezimalzahl
2
Antworten
Habe ich diesen code: use std::fs::File; use std::io::{BufRead, BufReader}; fn load_file() -> Vec<String> { let file = BufReader::new(File::open("foo.txt").unwrap()); file.lines().map(|x| x.unwrap()).collect(); } fn main() { let data = load_file(); println!("DATA: {}", data[0]); } Wenn ich versuche zu kompilieren,
1
Antworten
Ich nahm zunächst an, Sie könnten dies tun, weil die Dokumentation (http://doc.rust-lang.org/rust.html#implementations) schlägt vor, Sie können: trait Bar<T> { fn ex(&self) -> T; } struct Foo { y:f64 } impl Bar<int> for Foo { fn ex(&self) ->
1
Antworten
Wie würde ich mich über die Implementierung einer Methode, die als Konstruktor für ein struct enthält einen Verschluss? Ich bin neu an zu Rosten, und was mit Verschlüssen aktiv gearbeitet ich bin eine harte Zeit der Suche
1
Antworten
Lassen Sie uns zunächst den code sprechen: #[derive(Debug)] struct Bar; #[derive(Debug)] struct Qux { baz: bool } #[derive(Debug)] struct Foo { bars: Vec<Bar>, qux: Qux, } impl Foo { fn get_qux(&mut self) -> &mut Qux { &mut
3
Antworten
Rost hat die Fähigkeit, überprüfen Sie die Konfiguration zu bauen Zeit mit, z.B., #[cfg(target_os = "linux")] oder if cfg!(target_os = "linux") {...}, wo target_os ist ein Funktion. Gibt es eine Liste aller (oder zumindest Häufig verwendete) Funktionen,
1
Antworten
Begann ich dann mit clippy als linter. Manchmal zeigt es diese Warnung: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. Consider changing the type to `&[...]`, #[warn(ptr_arg)] on by
2
Antworten
Dieser code ist eine ineffiziente Art der Erstellung von einen eindeutigen Satz von items von einem iterator. Um dies zu erreichen, bin ich versucht, ein Vec zu verfolgen Werte, die ich gesehen habe. Ich glaube, dass diese
3
Antworten
Gibt es einige Grund, warum ich kann nicht verketten Sie ein string-literal ein string-variable? Die folgenden code: fn main() { let x = ~"abcd"; io::println("Message: " + x); } gibt diese Fehlermeldung: test2.rs:3:16: 3:31 error: binary operation
1
Antworten
use std::fs::File; use std::io::Read; pub struct Foo { maybe_file: Option<File>, } impl Foo { pub fn init(&mut self) { self.maybe_file = Some(File::open("/proc/uptime").unwrap()); } pub fn print(&mut self) { let mut file = self.maybe_file.unwrap(); let mut s =
1
Antworten
Es ist nicht einfach Instruktion auf dem Empfang einer Zeichenkette als variable in der std::io Dokumentation, aber ich dachte, dieser sollte funktionieren: use std::io; let line = io::stdin().lock().lines().unwrap(); Aber ich bin immer diese Fehlermeldung: src\main.rs:28:14: 28:23 error:
1
Antworten
Habe ich diesen code verwendet .unwrap(): fn main() { let paths = std::fs::read_dir("/home/user").unwrap(); for path in paths { println!("Name: {}", path.unwrap().path().display()); } } Nach einem Blick auf die definition von Auspacken, pub fn unwrap(self) -> T {
2
Antworten
Ich versuche zufällige Dinge zu vertiefen mein Verständnis von Rost. Ich gerade lief in den folgenden Fehler bei diesem code: struct Person { mother: Option<Person>, father: Option<Person>, partner: Option<Person>, } pub fn main() { let susan =
3
Antworten
Hinweis Diese Frage enthält eine syntax, die älter als Rust 1.0. Der code ungültig ist, aber die Konzepte sind immer noch relevant. Wie erstellen Sie eine Globale statische array von strings in Rust? Für Ganzzahlen dies stellt:
3
Antworten
Ich bauen will ein HashSet<u8> aus einer Vec<u8>. Ich würde dies gerne tun in einer Zeile code, kopieren der Daten nur einmal, mit nur 2n Speicher, aber das einzige, was ich bekommen kann, um zu kompilieren ist
2
Antworten
Dies ist ein sehr einfaches Beispiel, aber wie kann ich etwas tun, ähnlich: let fact = |x: u32| { match x { 0 => 1, _ => x * fact(x - 1), } }; Ich weiß, dass
1
Antworten
Ich lese raw-Daten aus einer Datei und möchte ich es konvertieren in eine Ganzzahl: fn main() { let buf: &[u8] = &[0, 0, 0, 1]; let num = slice_to_i8(buf); println!("1 == {}", num); } pub fn slice_to_i8(buf:
2
Antworten
Anmerkung der Redaktion: Dieses code-Beispiel ist aus einer version von Rust vor der 1.0, wenn viele Iteratoren implementiert Copy. Aktualisierte Versionen dieses Codes erzeugen die eine unterschiedliche Fehler, aber die Antworten, die immer noch wertvolle Informationen. Ich
1
Antworten
In irgendeiner Weise in Rust, zu erstellen lokalen Funktion, die aufgerufen werden können mehr als einmal. Die Art, wie ich tun würde, dass in Python ist: def method1(): def inner_method1(): print("Hello") inner_method1() inner_method1() InformationsquelleAutor | 2014-11-01
3
Antworten
Ich Schreibe ein Programm in Rust und ich haben einige tests für Sie. Ich schrieb eine Hilfsfunktion für diese tests, aber Wann immer ich bauen mit cargo build es warnt mich, dass die Funktion nie benutzt: Warnung:
1
Antworten
Wie konvertieren Sie eine ascii-Zeichenfolge literal (z.B. "123 458") in ein &[u8] slice in rust? Rost hat die 6? 7? string-Typen, und es gibt fast keine Einheitlichkeit in dem, was Sie nennen, um zu konvertieren zwischen Ihnen.
4
Antworten
Ich habe diese bisher in meinem Ziel zu Parsen von JSON-Daten in Rust: extern crate rustc_serialize; use rustc_serialize::json::Json; use std::fs::File; use std::io::copy; use std::io::stdout; fn main() { let mut file = File::open("text.json").unwrap(); let mut stdout = stdout();
1
Antworten
Habe ich versucht zu installieren Rost auf Cygwin, aber nicht in der Lage sein, Verbindung mit mingw. Jetzt bin ich versucht zu installieren, es mit Msys2. Habe ich bereits installiert Msys2 und Mingw. Ich habe versucht zu
1
Antworten
Dies ist, was mein code aussieht. Ich versuche, einen impled struct in meiner ShapeRenderer struct und dessen Methoden verwenden. Formen.rs: use super::core::*; pub struct ShapeRenderer<'a> { core_renderer: &'a mut CanvasRenderer, } Kern.rs pub struct Canvas { pub
3
Antworten
Also ich habe folgenden makro-code, den ich versuche zu Debuggen. Ich habe es genommen aus der Rost-Buch unter dem Abschnitt "The deep end". Umbenannt habe ich die Variablen in der makro, um genauer zu Folgen diese post.
2
Antworten
Rost hat die Typ, (), ein Typ mit einer einzigen null-Wert "Größe". Der Wert dieser Einheit wird zusätzlich der Typ angegeben mit (). Was ist der Zweck der Einheit-Typ und dessen Wert? Ist es ein Mechanismus, um
2
Antworten
Ich habe zum konvertieren der PathBuf variable zu einem String zu füttern, meine Funktion. Mein code ist wie folgt: let cwd = env::current_dir().unwrap(); let my_str: String = cwd.as_os_str().to_str().unwrap().to_string(); println!("{:?}", my_str); es funktioniert, ist aber schrecklich mit der
2
Antworten
Anmerkung der Redaktion: Dieses code-Beispiel ist aus einer version von Rust vor 1.0 und den code verwendet, der nicht existiert in Rust 1.0. Einige Antworten wurden aktualisiert, um die Antwort auf die Kernfrage für neuere Versionen von
4
Antworten
Ich komme aus einem Java-hintergrund und ich habe vielleicht so etwas wie enum Direction { NORTH, SOUTH, EAST, WEST} und ich konnte etwas tun, mit jedem der Werte, die wiederum mit der erweiterten for-Schleife wie: for(Direction dir
2
Antworten
Wie würde jemand implementieren, die Iterator und IntoIterator Merkmale für die folgende struct? struct Pixel { r: i8, g: i8, b: i8, } Habe ich versucht, verschiedene Formen der folgenden, ohne Erfolg. impl IntoIterator for Pixel {
4
Antworten
Die docs sind nicht hilfreich: http://web.mit.edu/rust-lang_v0.9/doc/std/num/fn.abs.html Offensichtlich, ich kann sehen, dass die Funktion rechts gibt, aber ich habe nicht die leiseste Ahnung, wie Sie es nennen. Edit: Das problem ist, dass es nicht Arbeit. 🙂 use std::num;
3
Antworten
Wie kann ich eine Funktion erstellen, die eine variable Anzahl von Argumenten in Rust? Wie dieser Java-code: void foo(String... args) { for (String arg : args) { System.out.println(arg); } } InformationsquelleAutor Tiago | 2015-03-09
4
Antworten
Gehen scheint, um drucken zu können, structs und arrays direkt. struct MyStruct { a: i32, b: i32 } und let arr: [i32; 10] = [1; 10]; Rost hat eine andere Philosophie als Gehen: wo Gehen ist "Batterien",
1
Antworten
Ich kann nicht scheinen, um diese Arbeit zu machen. Ich erhalte eine Fehlermeldung, die sagen, 'len' existiert nicht auf Typ '&[String]'. fn testLength(arr: &[String]) { if arr.len >= 10 { //Do stuff } } Ich bin noch
4
Antworten
Wie kann ich den debug-Rost-Applikation Schritt für Schritt interaktiv wie ich in der Lage bin zu tun, mit "hebeln" in Ruby? Ich möchte in der Lage sein zu sehen, und vorzugsweise Veränderung der Variablen in Echtzeit, wenn
5
Antworten
Ich Schreibe eine Bibliothek, kodiert/dekodiert die Daten zu/von einem binären format. Teil des formats ist zahlen, ich bin mit Rost native primitive Typen für die (wie i8, i64, f32 etc.). Gibt es eine einfache, integrierte Möglichkeit zur
3
Antworten
Sah ich die Betreiber r#"" in Rust, aber ich kann nicht finden, was es tut. Es kam in handliches für die Erstellung von JSON: let var1 = "test1"; let json = r#"{"type": "type1", "type2": var1}"#; println!("{}", json)
3
Antworten
In Rust (wie die meisten Programmiersprachen), die % - operator führt die Rest Betrieb, nicht die Modul Betrieb. Diese Operationen unterschiedliche Ergebnisse für negative zahlen: -21 modulus 4 => 3 -21 remainder 4 => -1 println!("{}", -21
3
Antworten
Ich bin ein Rost Neuling versuchen, herauszufinden, die Sprache durch das spielen mit ihm. Ich getroffen habe einige Probleme, die versuchen, auf Rückgabe eines Arrays aus einer Funktion: struct Widget { thingies: ~[int] } impl Widget {
1
Antworten
Hier ist, was ich versuche zu tun: use std::collections::HashMap; fn main() { let mut my_map = HashMap::new(); my_map.insert("a", 1); my_map.insert("b", 3); my_map["a"] += 10; //I expect my_map becomes {"b": 3, "a": 11} } Aber das wirft einen