2012-04-12 21 views
1

プロローグで定義された関係の中に関係を持てますか? CctypeIntとRU1の両方で関係プロローグ内の関係

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

今dependeantあるもう一つの変数がある

ので、私は

relation(cctypeint,relation(ru1,...,ru2)) 
のようなものを考えています:

私は以下のように定義された関係を持っているように

これは可能ですか?

+0

良いことは、質問に文脈を追加することです。何を達成しようとしていますか? – m09

答えて

3

関係は、Prologの述部によって定義されます。組み込み関数はありませんが(たとえば、用語展開を使用するなどして)、プログラムテキストの述部の中に述語を定義する構文的方法があります。そうする理由はほとんどありません。単に別の述部を記述してそれらを参照することができます。 にはもちろんネストされた用語があります。つまり、他の用語のサブタームとしての用語です。

あなたは

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

で何を意味するのですか?これは、述語(、)/ 2について何かを述べる句であり、私はその意図を疑う。一方、あなたのプログラムでは、あなたのプログラムに

relation(cctypeint,relation(ru_1,...,ru_n)) 

のようなPrologの用語を構築して使用することができます。

+0

、関係の中の関係が使われている正確な例を私に見せてもらえますか?少なくともリンクが役に立つでしょう – Vijay

+1

組み込みの方法はありません。異なる関係を定義するには、別の述部を使用します。 – mat