inline在我看来,F#中的关键字与我在例如C中使用的目的有些不同.例如,它似乎影响函数的类型(什么是"静态解析的类型参数"?不是所有的F#类型静态解决?)
我inline什么时候应该使用功能?
我很困惑如何将函数标记为泛型而没有类似的显式类型声明 ('a -> 'a)
let add a b = a + b
Run Code Online (Sandbox Code Playgroud)
这给了我们
val add : a:int -> b:int -> int
Run Code Online (Sandbox Code Playgroud)
但是我们可以立即打电话
add "Hello " "World!"
Run Code Online (Sandbox Code Playgroud)
现在add的值是
val add : a:string -> b:string -> string
val it : string = "Hello World!"
Run Code Online (Sandbox Code Playgroud)
如果我们再打电话
add 2 3 // then we get
error: This expression was expected to have type string but here has type int
Run Code Online (Sandbox Code Playgroud)
如何确保函数适用于所有已(+)定义函数的类型