Как получить доступ к нескольким аргументам возврата из выбора

У меня есть выбор, определяемый как:

MyChoice: ( ContractId X, ContractId X )
        ....
        return ( a, b )

Как мне использовать a или b в сценарии в качестве аргумента для чего-то еще? Точечная запись не работает.


person user3293336    schedule 05.02.2019    source источник
comment
Это дубликат Как извлечь компоненты кортежа в DAML?. Это сводится к извлечению компонентов из кортежа.   -  person bame    schedule 05.02.2019


Ответы (1)


Вы можете использовать ._1 и ._2 в качестве средств доступа; или вы можете использовать fst и snd как функции для извлечения элементов.

Вы также можете связать компоненты пары, используя сопоставление с образцом, когда осуществляется выбор, например:

somecode = do
   (x,y) <- exercise myCid MyChoice with ...
   doStuffWith x
   doStuffWIth y
person Viv Diwakar    schedule 05.02.2019