ベクトル長と2次元配列サイズを計算する関数を作った。Prolog '=='演算子は機能していませんか?
以下はその機能です。はい、私は意図的に詳細なlistLength, twoDarray
機能を除外
foo(LIST) :- listLength(LIST, COUNT1), twoDarray(COUNT2),
write("vector len : "), write(COUNT1),
write(", 2D array size : "), write(COUNT2).
:私はSWI-プロローグを使用しています。
ただし、2つの関数は正しいです。したがって、COUNT1
変数はベクトル長を格納し、COUNT2
変数は2次元配列サイズを格納します。
また、入力変数LIST
はベクトルを意味します。 2次元テーブルは固定されています(7 x 7)。
Iが入力してコードを実行します?
を - FOO([1、2、3、4、5])。
ベクトルLEN:5、2Dアレイサイズ:
それは出力Iは、以下のようなコードの上方に変更したとき、49
しかし
foo(LIST) :- listLength(LIST, COUNT1), twoDarray(COUNT2),
(COUNT1 == COUNT2).
機能は終了しません。私の目標はCOUNT1
とCOUNT2
です。 2つの変数が同じ場合はtrue
が返され、そうでない場合はfalse
が返されます。
しかし、同じ入力でも機能しません。この原因は何
、そしてどのように私はそれを修正することができますか?