1

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

如何返回不同的类型?

4

2 回答 2

1

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

ifClause : Either Int String
ifClause = if cond then Left 1 else Right "foobar"
于 2019-09-06T05:01:24.013 回答
0

但这 if else return 使模板将其存档,而不允许执行其他数据

于 2019-11-16T08:33:21.610 回答