0
列挙するために、次のコード "後方バイナリ"Haskellの "未解決のオーバーロード"
bin :: [Char] -> Int
bin a = temp (a, 1)
where
temp :: ([Char], Int) -> Int
temp ([], n) = 0
temp (('1':x), n) = temp(x, (n*2)) + 1*n
temp (('0':x), n) = temp(x, (n*2))
、次のエラーが生成されます。それは[INT]であった場合
TYPE - Unresolved Overloading
*** Type : Num [Char] => Int
*** Expression : Bin 1001
同様のコードがうまく働いた - > INT、なぜ私はそれがこのように動作しないのか分かりません。
関数はうまく見えますが、間違って使用しているようですが、次回は関数の使用方法も入れてみましょう –
メイン>ビン1001 – Aeglen
あなたはそのヒントを与えたいと思います) –