Wie liest man ein einzelnes Zeichen aus der Eingabe als u8?

8

Ich baue gerade einen einfachen Interpreter für diese Sprache zum Üben. Das einzige Problem, das es zu überwinden gilt, ist das Lesen eines einzelnen Bytes als Zeichen aus einer Benutzereingabe. Ich habe den folgenden Code bisher, aber ich brauche eine Möglichkeit, die String , die die zweite Zeile macht, in eine u8 oder eine andere ganze Zahl zu verwandeln, die ich umsetzen kann:

%Vor%

Der Wert in Bytes sollte ein u8 sein, das ich in ein i32 umwandeln kann, um es woanders zu verwenden. Vielleicht gibt es einen einfacheren Weg dies zu tun, sonst werde ich jede Lösung verwenden, die funktioniert.

    
pengowen123 06.06.2015, 04:35
quelle

2 Antworten

9

Nur ein Byte lesen und in i32 :

umwandeln %Vor%     
A.B. 06.06.2015, 06:49
quelle
2

Setzen Sie zunächst Ihre Eingabe um, und verwenden Sie dann bytes() anstelle von chars() .

%Vor%

Beachten Sie, dass Rust-Zeichenfolgen eine Sequenz von UTF-8-Codepunkten sind, die nicht unbedingt Byte-groß sind. Je nachdem, was Sie erreichen möchten, ist die Verwendung von char möglicherweise die bessere Option.

    
llogiq 06.06.2015 05:35
quelle

Tags und Links