0

たとえば、VDM++でnatchar の 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 )

4

1 に答える 1