相关疑难解决方法(0)

F#泛型/函数重载语法

我很困惑如何将函数标记为泛型而没有类似的显式类型声明 ('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)

如何确保函数适用于所有已(+)定义函数的类型

generics f# types function

11
推荐指数
1
解决办法
342
查看次数

标签 统计

f# ×1

function ×1

generics ×1

types ×1