在DAML合同中仅更新映射值,可以通过以下步骤实现:
insert
函数向映射值中插入新的键值对,使用delete
函数删除指定的键值对,使用update
函数更新指定键的值等。以下是一个示例代码片段,演示了如何在DAML合同中仅更新映射值:
module Main where
import Daml.Script
template MyContract
with
party : Party
mapping : Map Text Int
where
signatory party
observer party
updateMapping : Text -> Int -> Update MyContract
updateMapping key value = do
let newMapping = insert key value mapping
create this with mapping = newMapping
test = script do
alice <- allocateParty "Alice"
let initialMapping = empty
cid <- submit alice do
createCmd MyContract with party = alice, mapping = initialMapping
submit alice do
exercise cid (updateMapping "key" 42)
在上述示例中,我们定义了一个名为MyContract
的DAML合同模板,其中包含一个映射值mapping
。我们还定义了一个名为updateMapping
的更新函数,它接受一个键和一个值,并将其插入到映射值中。在test
脚本中,我们首先创建了一个初始合同版本,然后调用updateMapping
函数来更新映射值。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云