問題タブ [prolog-assert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
217 参照

prolog - Prolog でアサート中にプロシージャを呼び出す

次のような assert クエリがあります。

ユーザーがa(1)orを入力して、ユーザーが入力した内容に応じて、それぞれorb(1)を表示し (これまでのところ良い)、別のプロシージャを呼び出すようにします。aabb

たとえば、彼が と入力した場合、実行a(1)するプロシージャーが呼び出さpro_aれ、それぞれ、彼が と入力した場合b(1)、プロシージャーpro_bが実行されます。

これらの手順は次のとおりです。

等々。

私が試したのは次のようなものです:

しかし、それはうまくいきません。assertコマンドは 1 つしかないはずですか? (これを説明する方法がわかりません)。

0 投票する
0 に答える
383 参照

database - Prolog に句を追加する

SWI-Prolog でデータベースを作成するプロジェクトのコードを書こうとしています。プログラムには、ADDING、DELETING、SORTING、および SEARCHING エントリが含まれている必要があります。私の問題は次のとおりです。

  1. 「ランナー」を大文字で追加したい。
  2. データベースに何かを追加/削除すると、ファイルが空のままになるか、実際に追加したエントリだけがエントリになります。

1 つのファイルをデータベース エントリとして使用し、2 番目のファイルをすべてのロジックに使用しています。事前に助けてくれてありがとう。

データベースには、次のレコードがあります。

「_」コンポーネントは、DATE、HEIGHT、WEIGHT などです。データベース ファイルの名前はdatabase.plです。

論理的には、次のようになります。

すべてのランナーは自分の名前と姓で書かれている必要があり、他のフィールドは空白にすることができます. 少なくとも名前、姓、最大で名前、姓、身長、日付、体重を追加する方法... 最初の 2 つのフィールドのみが必須であり、他のフィールドは必須ではありません。

0 投票する
1 に答える
844 参照

csv - プロローグからcsvファイルを読み取り、事実/節に変更します

csv_read_fileは csv ファイルを読み取るために使用します。これは次のとおりです。

csv ファイル:

コード:

私は次のようなものを得ました:

しかし、私が必要なのは

これは実際には述語です。

どうすればそれを取り除くことができrowますか?後はやるしかないと思いますassert()

0 投票する
2 に答える
1302 参照

prolog - Prolog の論理更新ビューはアサートとリトラクトに対してどのように機能しますか?

アサートとリトラクトに関する Prolog の論理ビューを詳しく説明してもらえますか?

たとえば、以下のコードでは、Prolog は最初の実行で true を返し、その後の実行で false を返します。asserta(nextBound(100))Prolog の論理ビューが満たされると、nice(X) は開始時の値でまだ凍結されているため、この変更は無視され、 nextbound(100)false でなければならない理由がわかりません 。

0 投票する
2 に答える
579 参照

prolog - Jekejeke Prolog で Fact を作成できません

私は Seven Languages In Seven Weeks Prolog チュートリアルを使用しており、Android Jekejeke Runtime を使用していくつかの例を実行しようとしています。たとえば、追加すると

チュートリアルから、私は得る。

How to create a fact in SWI-Prolog? で説明されているように、assert を使用してみました。assert、しかし、好きではなく、それは未定義であると言います。

おそらく、ランタイムがどのように機能するか、またはその prolog.it の方言に関する基本的なことが欠けています。