这个F#代码不起作用

时间:2009-12-15 12:38:26

标签: f#

这不起作用...... 我收到错误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

1 个答案:

答案 0 :(得分:2)

问题是printf "%s " head表示head必须是string,但实际上您希望它是char,因此您会看到Parse 1}}推断了类型string list -> 'a option。因此,F#期望Seq.toList应用于string seq,而不是string

简单的解决方法是将执行打印的行更改为printf "%c " head