13
FileInfo 시퀀스가 있지만 문자열 이름 만 신경 써서 문자열 시퀀스가 필요합니다. 처음에 나는이 같은 시도 :F #의 형식 유추가 왜 이것을 처리 할 수 없습니까?
Seq.map (fun fi -> fi.Name) fis
을하지만 어떤 이유로, F #의 형식 유추이 허용하는 충분하지 않습니다, 나 명시 적으로 "파이"유형을 제공했다 :
Seq.map (fun (fi : FileInfo) -> fi.Name) fis
을
이 주석은 왜 필요합니까? fis : seq<FileInfo>
과 그 Seq.map : ('a -> 'b) -> seq<'a> -> seq<'b>
이 알려져 있다면 람다 식의 형식이 FileInfo -> 'b
이고 그 다음에 fi.Name : string
에서 더 종류가 FileInfo -> string
이라고 추측해서는 안됩니까?
그들은 형식 추론을보다 강력하게 만들어주기를 바랍니다. 이미 클래스의 메서드를 재정렬해야하는 경우 나 너무 일반적인 형식의 오류가 발생하는 경우가 있습니다. – gradbot
이 블로그 게시물과 그 코멘트 중 일부는 F #의 유형 검사기의 강점과 약점에 대한 유용한 설명이 있습니다. http://neilmitchell.blogspot.com/2008/12/f-from-haskell- perspective.html – Juliet