这不起作用...... 我收到错误FS0001:类型'string'与'seq'类型不兼容 为最后一行。为什么呢?
let rec Parse (charlist) =
match charlist with
| head :: tail -> printf "%s " head
Parse tail
| [] -> None
Parse (Seq.toList "this is a sentence.") |> ignore
答案 0 :(得分:2)
问题是printf "%s " head
表示head
必须是string
,但实际上您希望它是char
,因此您会看到Parse
1}}推断了类型string list -> 'a option
。因此,F#期望Seq.toList
应用于string seq
,而不是string
。
简单的解决方法是将执行打印的行更改为printf "%c " head
。