0.1
から-150
までの数字のリストを作りたいです150
。
これを行うために、リストを作成し、次のように分数乗算ラムダをそれにマップしようとしました。
let indices = [-1500,-1499..1500]
let grid = map (\x -> 0.1 *x) indices
これにより、ghci はエラーを吐き出します。
一方、これらは両方とも正常に機能します。
let a = 0.1*2
と
let grid = map (\x -> 2 *x) indices
何が起きてる?Num と Fractional の乗算が、マップを含むリストに適用された場合にのみ失敗するのはなぜですか?
編集:私が得るエラーは次のとおりです:
No instance for (Fractional Integer)
arising from the literal `0.1'
Possible fix: add an instance declaration for (Fractional Integer)
In the first argument of `(*)', namely `0.1'
In the expression: 0.1 * x
In the first argument of `map', namely `(\ x -> 0.1 * x)'