【问题标题】:How to mention keys of a Map as observers in DAML?如何在 DAML 中将 Map 的键作为观察者提及?
【发布时间】:2020-10-29 10:05:00
【问题描述】:

我想在我的合同模板中使用 (Party, CustomObj) 的地图作为属性/参数。我还想在合同模板中指定键列表作为观察者。 我怎样才能做到这一点?

谢谢。

【问题讨论】:

    标签: daml


    【解决方案1】:

    observer 接受范围内带有模板参数的任意表达式。因此,您可以编写一个从地图中提取键的表达式。为此,首先转换为(key, value) 对的列表,然后使用map fst 丢弃这些值。这是一个完整的例子:

    module Main where
    
    import DA.Next.Map (Map)
    import qualified DA.Next.Map as Map
    
    data CustomObj = CustomObj
      deriving (Eq, Show)
    
    template T
      with
        sig : Party
        m : Map Party CustomObj
      where
        signatory sig
        observer map fst (Map.toList m)
    

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多