Desidero ottenere il primo carattere di uno std::str
. Il metodo char_at()
è attualmente instabile, come lo è slice_chars
in std::string::String
.Ottenere un singolo carattere da una stringa
L'unica opzione che ho attualmente trovato è la seguente.
let text = "hello world!";
let char_vec:Vec<char> = text.chars().collect();
let ch = char_vec[0];
Ma questo sembra eccessivo per ottenere solo un singolo carattere e non utilizzare il resto del vettore.
Si potrebbe anche voler vedere se si desidera veramente il primo _grapheme_. – moveaway00
Questo dà l'unità di codice 'n'th, ma' char_at' fornisce l'unità di codice che inizia con il byte 'n'. Quest'ultimo è più utile perché la maggior parte delle operazioni sulle stringhe si occupa degli indici di byte. Questo è equivalente a 'char_at' (e anche a tempo costante):' text [i ..]. Chars(). Next(). Unwrap() ' – delnan
@delnan: direi che l'uso di' char_at' è leggermente pericoloso come l'indice potrebbe essere * in * un'unità di codice. –