小编use*_*060的帖子

类型'float - > float'与'float'类型不匹配

刚开始学习F#和我试图生成和评估泰勒系列的第10项è.我最初编写此代码来计算它:

let fact n = function
    | 0 -> 1
    | _ -> [1 .. n] |> List.reduce (*)

let taylor e =
    let term n = (e ** n) / (fact n)
    [1 .. 10]
        |> List.map (term)
        |> List.reduce (+)
Run Code Online (Sandbox Code Playgroud)

这导致错误,因为**操作员不工作int.显然,我需要将所有内容都投射到float一起才能使一切正常工作.所以:

let fact (n: float) = function
    | 0.0 -> 1.0
    | _ -> [1.0 .. n] |> List.reduce (*)

let taylor (e: float) =
    let term (n: float) = …
Run Code Online (Sandbox Code Playgroud)

f# types casting

5
推荐指数
1
解决办法
516
查看次数

标签 统计

casting ×1

f# ×1

types ×1