如何保存对地图的输入

时间:2019-09-17 12:43:25

标签: daml

以下内容如何工作?给定一个项列表[a]和一个将a映射到g b的函数,如何将输入保留在结果列表中?

[a] -> (a -> g b) -> g [(a,b)]

具体来说,我有一份合同编号列表。我想将每个合同ID映射到(ID,有效负载)的元组,其中有效负载是一些合同变量。上面示例中的g b是访存。

1 个答案:

答案 0 :(得分:1)

如果您翻转参数顺序会容易一些,那么您可以执行以下操作:

mapAWithArgs : Applicative m => (a -> m b) -> [a] -> m [(a, b)]
mapAWithArgs f = mapA (withArg f)
  where
    withArg f x = (x,) <$> f x

然后您可以在自己的withIds <- mapAWithArgs fetch <list of contract IDs>中进行Update