【发布时间】:2021-10-10 02:23:36
【问题描述】:
我需要创建一个函数,将两个由浮点数组成的元组相加,并返回一个由两个浮点数组成的元组。
let add a b =
fst a + fst b, snd a + snd b
给我这个回报:
val add : int * int -> int * int -> int * int
但如果我尝试:
let add (a:float) (b:float) =
fst a + fst b, snd a + snd b
我明白了:
This expression was expected to have type
''a * 'd'
but here has type
'float'
如何获得以下回报?
val add : float * float -> float * float -> float * float
【问题讨论】:
-
使用这个
let inline add a b = fst a + fst b, snd a + snd b。inline是某种 F# 编译器魔法 -
这不是魔法,它有明确的含义。