我该怎么称呼这个功能组合?

时间:2009-06-29 13:22:44

标签: python math functional-programming

如果给出以下内容,应该叫什么'foo'?

x.items是一个集合,y.values是一个集合。

function a(key)返回x.items的有序列表

function b(x.item)返回单个y.value

定义foo(a,b),它返回一个函数d,使得d(key)返回由以下定义的y.values列表:map(b,a(key))。

这感觉就像一个相当普通和通用的功能组合,但我不知道该怎么称呼它。

5 个答案:

答案 0 :(得分:2)

 function a(key) returns an ordered list of x.items
 function b(x.item) returns a single y.value

除了排序之外,a()实际上是一个过滤器,即它根据一个键从x.items“过滤”或“选择”项目。 b()是法线贴图或函数。因此,我会为'foo'选择名称“composeFilterWithMap”,或“composeSelectorWithMap”或类似名称。

答案 1 :(得分:1)

我称之为函数合成器或类似的东西

答案 2 :(得分:1)

我会将该功能称为 permuted_values

您所做的相当于使用基于您的密钥的排列来迭代哈希映射。

答案 3 :(得分:0)

协同引擎。

答案 4 :(得分:0)

以下是a,b和foo的示例名称可能会有所帮助(我不喜欢这些,但它们有点像我所得到的):

items_by_key(key)

value_by_item(item)

values_by_key(items_by_key, value_by_item)