0
:- dynamic somepig/1.

runtest :-
    assert(somepig(6)), % Edit : just to be more precise, somepig is dynamic
    somepig(X),
    writeln(X+3).

このコードは最終的に「6+3」を出力します。X が算術演算を実行できない型を取っているか、「somepig」を割り当てているときに「6」が自動的に文字列と見なされるか、そうでないかのいずれかだと思います。

とにかく、X を整数またはそれ以外に明示的に指定できるものはありますか? このようなものでしょうか?

runtest :-
    somepig(X is int)
    writeln(X+3). % outputs 9
4

1 に答える 1