Si je déclare cette fonction F #:F inférence # Type misses informations données
let extractColumn col (grid : List<Map<string, string>>) =
List.map (fun row -> row.[col]) grid
le compilateur se plaint:
erreur FS0752: 'expr [IDX]' L'opérateur a été utilisé sur une objet de type indéterminé sur la base des informations antérieures à ce point de programme. Pensez à ajouter d'autres contraintes de type
Ajout d'un paramètre annotation de type pour le lambda row
résout le problème:
let extractColumn col (grid : List<Map<string, string>>) =
List.map (fun (row : Map<string, string>) -> row.[col]) grid
Pourquoi ne peut-il obtenir le type de row
du paramètre de la fonction extractColumn
grid
?