例如,我想在 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 of # | [] )