누군가가 나를 안내 할 수 있다면 정말 고맙겠습니다. 나는 내가 왜 잘못했는지 이해하고 싶습니다. 왜 그런가요? foldl operation in sml
이
내 코드입니다 :fun get_longest xs = foldl((fn (x ,y) => if String.size x >= String.size y then x
else y),[],xs)
문자열 목록을 가지고 가장 긴 문자열을 반환해야 내 기능; 목록이 비어 있다면, 그냥 return []
.
는하지만이 오류를 받고 있어요 :
Error: operator and operand don't agree [tycon mismatch]
operator domain: 'Z * 'Y -> 'Y
operand: (string * string -> string) * int * 'X
in expression:
foldl ((fn (<pat>,<pat>) => if <exp> then <exp> else <exp>),0,xs)
uncaught exception Error
raised at: ../compiler/TopLevel/interact/evalloop.sml:66.19-66.27
../compiler/TopLevel/interact/evalloop.sml:44.55
../compiler/TopLevel/interact/evalloop.sml:296.17-296.20