我正在尝试创建一个可以同时接受整数和浮点数作为参数的函数。问题在于,尽管使用了 inline 关键字,编译器还是会根据函数中的数字自动推断类型。这就是我的意思:
(* Infers ints for every parameter because of '1' *)
let inline Lerp a b t = (1 - t) * a + t * b
(* Infers floats for every parameter because I added '.0' to '1' *)
let inline Lerp' a b t = (1.0 - t) * a + t * b
Run Code Online (Sandbox Code Playgroud)
我可以创建两个单独的函数,但这有点令人失望。有没有解决的办法?
f# ×1