Prolog プログラマーに非常に簡単な質問があります。これは非常に簡単なはずですが、私はその言語の経験がないので、助けてください。Prolog で単純なプログラミング言語を解釈しようとしています。この言語では、単純変数と配列変数の 2 種類の変数を使用できます。特定の変数の値を計算する関数があります。
%calc(+var, +state, -result)
variable は、 のような単純な変数x
または のような配列変数のいずれかarray(ident, index)
です。その関数を Prolog でどのように記述すればよいかわかりません。そのため、通常の変数と配列変数では異なることを行います。私はこのようなものを思いついた:
calc(array(Ident,I), S, R) :- calculating R for array var, !.
calc(Ident, S, R) :- calculating R for regular var.
これは機能しますが、もっと良い方法があるはずです。