VDM ++中的操作中的用例

时间:2017-09-30 09:15:16

标签: case-statement vdm++

我对VDM ++很新,我试图在一个操作中使用案例来查看它是如何工作的。

我的想法是给操作一个输入,看看它给我的输出结果。所以fx。我的输入可能是:我希望输出为偶数。

以下操作失败,并给出错误“表达式中的意外令牌”

public sign: (seq of char) ==> (seq of char)
sign(sign) ==
cases sign:
    <Even> -> "Even",
    <Odd> -> "Odd",
    others -> "Unknown"
end

1 个答案:

答案 0 :(得分:0)

希望错误实际上是Unexpected token in statement(不是表达式?)。案例陈述要求每个案例条款的RHS是一个陈述。所以你不得不说-> return "Even"。或者,您可以说return cases sign: ...,将其转换为一个大型return语句,然后正确形成后面的 expression