誰かがここで私を案内してくれたら幸いです。私が間違っていたこととその理由を本当に理解したいですか?
これは私のコードです:
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