问题描述
我们有以下 damL 合同:
数据某事 = 选项 A |选项 B 推导(显示,方程)
模板主要与 一个聚会 乙:派对
c: Something
d: Details
我知道我们可以对 'a' 和 'b' 执行以下操作:
字段:{ a: daml.party(a),b: daml.party(b),} 但是我怎么能写c和d呢?
解决方法
对于 d
,您可以使用 daml.record
,如下所示:
daml.record({
id: daml.text("youridhere"),name: daml.text("yournamehere"),state: daml.text("yourstatehere")
})
对于 c
,您的类型定义存在问题。构造函数需要有不同的名称,而在您的示例中,它们都被称为 Option
。您可以通过重命名一个或两个来解决此问题,例如,
data Something = OptionA A | OptionB B deriving(Show,Eq)
要构造一个值,您可以使用 daml.variant
:
daml.variant("OptionA",yourahere)