0
私はprolog.SOに完全に初心者です。 私はCctypeIntとRu1という2つのパラメータを持っています CctypeIntが0ならRu1はリスト{2,3,4}、CctypeIntが1ならばRu1はリスト{2,3,4}であり、CctypeIntは2 Ru1は1つの要素{2}のリストです。プロローグ内の3つのデフェデュータパラメータ
relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),
ここではすべて正常に動作しています。 しかし、以下に説明するような値をとることができる第三のパラメータが存在する:
(
CctypeInt is 0 then Ru2 is -1
;CctypeInt is 1 and Ru1 is 2 then Ru2 is [2,3,4]
;CctypeInt is 1 and Ru1 is 3 then Ru2 is [2,3]
;CctypeInt is 1 and Ru1 is 4 then Ru2 is 2
;CctypeInt is 2 then Ru1 is 2 then Ru2 is 2
),!.
iは同じについては、以下のコードを試みました。
(
CctypeInt=:=0->Ru2 is -1
;CctypeInt=:=1,Ru1 =:= 2->Ru2 is [2,3,4]
;CctypeInt=:=1,Ru1 =:= 3->Ru2 is [2,3]
;CctypeInt=:=1,Ru1 =:= 4->Ru2 is 2
;CctypeInt=:=2->Ru1 is 2,Ru2 is 2
),!.
しかし CctypeIntが範囲0..2で、比較することができないように私はエラーを取得しています。
だから、 '範囲をCctypeInt'されますか?印刷してみましたか? –
はいその範囲...とその範囲を使用して私は正しくRu1の範囲を抽出していますが、Ru2はcctypeintとRu1の両方に依存しているので、私はロジックを書くというこの問題を抱えています。 – Vijay