2015-04-20 14 views
5

Il tipo di carattere ha from_digit() e per ottenere un carattere da una cifra o da un u32, ma dove sono le funzioni di inverso per i tipi di interi (tutti)?Dov'è la funzione from_char() per i tipi interi?

ie mi aspettavo di vedere alcune funzioni uN :: from_ {char | digit}() e iN :: from_ {char | digit}() (dove N è 8, 16, 32, 64 o dimensione) per simmetria ma a quanto pare non esistono.

+0

Non è chiaro cosa vuoi. Che tipo di input hai e che tipo vuoi come output? Forse potresti aggiungere un po 'di codice di esempio? Non sono sicuro del significato che stai attribuendo a "conversare", ma "u32" ** è ** un tipo intero. Intendevi un * intero con segno *? – Shepmaster

+1

La domanda è super poco chiara, ma interpreto il "contrario" in questo contesto per essere "come faccio a convertire un' char' in un 'u32'." Per questo, vedi: http://doc.rust-lang.org/std/primitive.char.html#method.to_digit – BurntSushi5

+0

@Shepmaster basato su questa domanda: http://stackoverflow.com/questions/29751590/why- is-numone-need-for-iterating-over-a-range Penso che l'OP cerchi un modo per convertire 'char' in un valore numerico per il punto di codice, così da poter iterare su di esso. –

risposta

10

I inverse sono:

  • to_digit per from_digit: c.to_digit(12)
  • un as u32 cast per from_u32: c as u32

Quest'ultimo è quello che si desidera, se si desidera che il codepoint Unicode del char.

Problemi correlati