小编mat*_*hid的帖子

可能的F#类型推理限制

我很确定我遇到了某种限制,但我不明白:

type IRunner = 
    abstract member Run : (string -> 'a) -> 'a
type T() = 
    let run4 doFun = doFun "4"
    let run5 doFun = doFun "5"
    let parseInt s = System.Int32.Parse(s)
    let parseFloat s = System.Double.Parse(s)
    let doSomething () = 
        let i = parseInt |> run4
        let f = parseFloat |> run4
        f |> ignore

    // Make it more generic ->
    //let doSomething2 (runner:(string->'a)->'b) =
    let doSomething2 runner = 
        // Error on the following lines with both declarations …
Run Code Online (Sandbox Code Playgroud)

f# type-inference

2
推荐指数
1
解决办法
370
查看次数

标签 统计

f# ×1

type-inference ×1