を数字のリスト(つまり[Int]
)に変換するfoldr
の例を作成しようとしています。Haskellの数値型について混乱しています
pickDigit num pos = (num `div` (10^pos)) `mod` 10
toDigits num = foldr (\pos acc -> (pickDigit num pos):acc) [] [0 .. floor (logBase 10 num)]
これは正常に読み込まれます。しかし、私はそれを実行しようとすると、例えば
> toDigits 1234
私は理解していないタイプのエラーメッセージが表示されます。
ロードされたコードの種類についてHaskellに問い合わせて、それらの型をソースファイルに明示的に含めると、ロード時にエラーメッセージが表示されます。明示的にタイプをInteger
またはInt
に制限しようとすると、さらにエラーメッセージが表示されます。
私はいくつかの提案を感謝します。ありがとう。
。 –