Come verificare se un carattere ่ un numero in Ocaml
In linguaggio Ocaml occorre costruire una funzione per verificare se un valore è un numero.
Ad esempio, questa funzione restituisce un valore booleano true se l'argomento x è un carattere con un numero.
let verificasenumero x = '0' <= x && x <= '9';;
Da notare che l'argomento è di tipo char. Non è un numero.
Quando si confrontano due caratteri con gli operatori di confronto (<, <=, ==, >=, > ) il linguaggio Ocaml confronta i valori numerici del codice ASCII dei due caratteri.
Se l'argomento è il carattere '7' la funzione restituisce true, perché il codice ASCII del carattere '7' (ossia 55) è maggiore uguale a quello del carattere '0' (ossia 48) e minore uguale a quello del carattere '9' (ossia 57).
verificasenumero('7')
- : true
Viceversa, se l'argomento è il carattere 'a' la funzione restituisce il valore booleano false perché il suo codice asci (97) non è compreso nell'intervallo tra 48 e 57.
verificasenumero('a')
- : false
E così via.