0

我对 VDM++ 很陌生,我试图在操作中使用用例来了解它是如何工作的。

我的想法是给操作一个输入,看看它给了我什么作为输出。所以外汇。我的输入可能是:并且我希望输出是偶数。

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

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

1 回答 1

0

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

于 2017-10-01T08:55:23.413 回答