从一个选择中行使一个选择;自我参照

时间:2019-09-01 17:47:02

标签: daml

我一直想从另一个选择中进行选择(对于同一模板)。有一种方法可以在不知道合同编号的情况下执行此操作吗?即,我无法在不知道exercise ??? MyChoice的情况下从其他选择的正文中调用???。还是我试图做一些根本错误的事情?理想情况下,类似exercise this.id MyChoice

2 个答案:

答案 0 :(得分:1)

有一个隐式变量self,它是赋予每个选择的合同this的ID。例如,

    nonconsuming choice NoConsume : Int
      controller p
      do return 41

    postconsuming choice PostConsume : Int
      controller p
      do (+2) <$> exercise self NoConsume -- Yes, fetching self in a postconsuming choice is ok.

答案 1 :(得分:0)

在内部DA对话中:

  

moritz.kiefer 9天前锻炼自我MyChoice有效吗?

     

andrae.muys 9天前正是出于这个目的引入了自我   目的。请注意,合同将在您之前   消费选择中的选择练习。您需要使用   后消费或非消费选择可以避免这种情况。

     

卢西亚诺9天   前有记录消费后吗?我不记得看到它了。

     

moritz.kiefer 9天前   https://docs.daml.com/concepts/glossary.html#postconsuming-choice   在iirc某处也有一个博客文章

     

moritz.kiefer 9天前   找到了https://blog.daml.com/daml-driven/daml-choice-annotations   blog.daml.comblog.daml.com DAML选择注释   消费概念并解释新添加的含义   前消费关键字和后消费关键字。