gpt4 book ai didi

f# - 如何实现静态解析的类型参数?

转载 作者:行者123 更新时间:2023-12-04 22:27:32 24 4
gpt4 key购买 nike

如何实现静态解析的类型参数?

具体来说,我想让一个函数适用于所有数字类型。

我尝试了以下方法:

let isAbsoluteProductGreaterThanSum a b =
Math.Abs(a * b) > (a + b)

let inline isAbsoluteProductGreaterThanSum a b =
Math.Abs(a * b) > (a + b)

let inline isAbsoluteProductGreaterThanSum ^a ^b =
Math.Abs(^a * ^b) > (^a + ^b)

let inline isAbsoluteProductGreaterThanSum (val1:^a) (val2:^b) =
Math.Abs(val1 * val2) > (val1 + val2)

我确实查看了这个 documentation,但仍然无法解决我的问题。

最佳答案

这将工作得很好:

let inline isAbsoluteProductGreaterThanSum a b =
abs(a * b) > (a + b)

这个签名将是这样的:
val isAbsoluteProductGreaterThanSum: 
a: ^a (requires static member ( * ) and static member ( + ) )->
b: ^b (requires static member ( * ) and static member ( + ) )
-> bool

关于f# - 如何实现静态解析的类型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49983453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com