如何从DAML中的if和其对应的else返回不同​​类型?

时间:2019-09-06 04:19:40

标签: daml

当前在DAML中,if和else条件期望返回相同的输出。

如何返回不同的类型?

2 个答案:

答案 0 :(得分:1)

您总是必须从两个分支中返回相同的类型。如果要返回不同的类型,您可以做的是改为在两个分支中使用Either A B,在一种情况下使用Left a,在另一种情况下使用Right b。因此,举一个完整的例子,假设您在第一个分支中有一个if和一个Int,在第二个分支中有一个Text,您可以执行以下操作:

ifClause : Either Int String
ifClause = if cond then Left 1 else Right "foobar"

答案 1 :(得分:0)

但是这个 如果返回,则将模板进行存档,而不允许执行其他数据