0

我一直想从另一个选择中做出选择(对于相同的模板)。有没有办法在不知道合同 ID 的情况下做到这一点?即我不能exercise ??? MyChoice从另一个选择的身体中调用,而不知道???。还是我试图做一些根本错误的事情?理想情况下像exercise this.id MyChoice

4

2 回答 2

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.
于 2019-09-01T17:52:21.450 回答
0

来自内部 DA 对话:

moritz.kiefer 9 天前 锻炼自我 MyChoice 工作 iirc?

andrae.muys 9 天前自我介绍正是为了这个目的。请注意,在您进行消费选择之前,合同将被存档。您需要使用消费后或非消费选择来避免这种情况。

Luciano 9 天前 消费后是否有记录?我不记得看过。

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

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

于 2019-09-01T17:49:10.180 回答