【发布时间】:2015-05-22 01:09:01
【问题描述】:
我有一个需要很多参数的通用函数
f : a -> b -> c -> d -> e -> f
我想提供专门的函数,只接受最后两个参数,但为前三个提供一些固定值。
g : d -> e -> f
h : d -> e -> f
它们的实现如下所示
g = f someA someB someC
h = f someA' someB' someC'
当然,这一切都很好,但是当从 C# 调用这些函数时,这是一个问题,因为它们的类型没有得到“美化”。相反,我得到了一堆嵌套的FSharpFuncs。
我可以通过定义我的函数来避免这个问题,比如
g d e = f someA someB someC d e
h d e = f someA' someB' someC' d e
但这似乎是一个非常简单的机械转换,所以我想知道是否有一种自动化的方法可以获得相同的结果。也许我可以附加一些属性?
【问题讨论】:
-
This article 似乎包含了答案。另外,related.