Können Array-Längen in Rust abgelesen werden?

7

Ich kann das tun:

%Vor%

Aber warum funktioniert das nicht?

%Vor%

Es scheint mir, dass die Länge überflüssig und trivial ist, um daraus zu schließen. Gibt es eine Möglichkeit, es nicht explizit angeben zu müssen? (Und ohne f32 an alle Literale anhängen zu müssen.)

    
Timmmm 18.10.2016, 12:04
quelle

1 Antwort

19

_ kann nur in zwei Kontexten verwendet werden: in Mustern, um einem zu ignorierenden Wert zu entsprechen, und als Platzhalter für einen Typ. In Array-Typen ist die Länge kein Typ, sondern ein Ausdruck, und _ kann nicht in Ausdrücken verwendet werden.

Sie können jedoch f32 nur an eines der Literale anhängen und den Typ vollständig weglassen. Da alle Elemente eines Arrays den gleichen Typ haben müssen, wird der Compiler den richtigen Elementtyp für das Array ableiten.

%Vor%     
Francis Gagné 18.10.2016, 12:08
quelle

Tags und Links