2017-09-30 5 views
0

VDM ++の新機能で、操作でケースを使用して動作を確認しようとしています。VDM ++での操作の使用例

私の考えは、操作に入力を与え、それが出力として私に与えたものを見ることでした。だからfx。私の入力は次のようになります。

次の操作は失敗し、エラー「式の予期しないトークンに」私に

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

答えて

0

を与えるうまくいけば、エラーが実際にUnexpected token in statementある(ない表現?)。 cases文では、各case節のRHSを文にする必要があります。だから、-> return "Even"と言う必要があります。あるいは、return cases sign: ...と言って1つの大きなreturn文にすることができます。この場合、その後に続くの式が正しく形成されます。

+0

PS。上記の変更を加えれば "パターンは一致しません"というエラーが表示されますが、うまくいけば理由は分かります:) –

関連する問題