J'essaye d'écrire une fonction de filtre simple dans ML. L'idée est que la fonction only_capitals
prend une liste de chaînes et renvoie une liste de chaînes, avec seulement les chaînes qui commencent par une lettre majuscule. Voici ma mise en œuvre, mais je reçois un type d'erreur que je ne comprends pas:Type Incompatibilité dans ML List.filter
fun only_capitals (strs : string list) =
let
fun isCapitalized (str) = Char.isUpper(String.sub(str, 0))
in
List.filter(isCapital, strs)
end
Voici l'erreur:
hw3provided.sml:5.18-5.27 Error: unbound variable or constructor: isCapital
hw3provided.sml:5.6-5.34 Error: operator and operand don't agree [tycon mismatch]
operator domain: 'Z -> bool
operand: _ * string list
in expression:
List.filter (<errorvar>,strs)
val it =() : unit
Alors, quelle est l'erreur? – melpomene