Haskell的新手,想知道爲什麼第一個3是確定,但第四聲明炸燬了:Haskell的閱讀類型推論
Prelude> read "5.3" + 5.0 -- ok
10.3
Prelude> read "5" + 5 -- ok
10
Prelude> read "5" + 5.3 -- ok
10.3
Prelude> read "5.3" + 5 -- huh ???
*** Exception: Prelude.read: no parse
我看到:T 5.3是分數,而5只是民,但都必須是由於前三個命令可以工作,所以可以從read中返回,(+)應該可以在任何一對Nums上工作。這裏發生了什麼 ?
您可以明確指定類型:'(read「5.3」:: Double)+ 5' – 2012-04-14 22:53:20