我对VDM ++很新,我试图在一个操作中使用案例来查看它是如何工作的。
我的想法是给操作一个输入,看看它给我的输出结果。所以fx。我的输入可能是:我希望输出为偶数。
以下操作失败,并给出错误“表达式中的意外令牌”
public sign: (seq of char) ==> (seq of char)
sign(sign) ==
cases sign:
<Even> -> "Even",
<Odd> -> "Odd",
others -> "Unknown"
end
答案 0 :(得分:0)
希望错误实际上是Unexpected token in statement
(不是表达式?)。案例陈述要求每个案例条款的RHS是一个陈述。所以你不得不说-> return "Even"
。或者,您可以说return cases sign: ...
,将其转换为一个大型return语句,然后正确形成后面的 expression 。