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.

la tavola ASCII dei valori numerici

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.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Ocaml