たとえば、VDM++でnatをchar の seqにキャストしたいとします。
"X is {value of q}"
以下のコードでは、q が nat 型で q < 3 の場合、操作 setValueOfX が を返すようにします。
class A1
instance variables
private x : nat := 0;
operations
public setValueOfX : nat ==> seq of char
setValueOfX(q) ==
(
if is_nat(q) and q < 3
then
(
x := q;
-- The following line doesn't work
-- return "X is " ^ q;
)
else
return "Invalid value! Value of x must be more than 0 and less than 3.";
);
end A1
使用してみまし^
たが、次のエラーが発生しました。
エラー [207] : '^' の Rhs はシーケンス タイプの
行為ではありません: nat
exp : ( # | [] の seq1 )