let chaine_au_debut chaine ligne = let n = String.length chaine in ((String.length ligne) >= n) && ((String.sub ligne 0 n) = chaine);;
Remarquez que l'on teste (String.length ligne) >= n
avant de tester (String.sub ligne 0 n) = chaine
. Rappelons que &&
n'évalue l'expression de droite que si l'expression de gauche est vraie. Si on n'avait pas mis la condition de gauche ou inversé l'ordre des opérandes de &&
, on aurait obtenu des erreurs quand la ligne lue est plus courte que la chaîne.