問題タブ [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.
prolog - Prolog でアサート中にプロシージャを呼び出す
次のような assert クエリがあります。
ユーザーがa(1)
orを入力して、ユーザーが入力した内容に応じて、それぞれorb(1)
を表示し (これまでのところ良い)、別のプロシージャを呼び出すようにします。aa
bb
たとえば、彼が と入力した場合、実行a(1)
するプロシージャーが呼び出さpro_a
れ、それぞれ、彼が と入力した場合b(1)
、プロシージャーpro_b
が実行されます。
これらの手順は次のとおりです。
等々。
私が試したのは次のようなものです:
しかし、それはうまくいきません。assert
コマンドは 1 つしかないはずですか? (これを説明する方法がわかりません)。
database - Prolog に句を追加する
SWI-Prolog でデータベースを作成するプロジェクトのコードを書こうとしています。プログラムには、ADDING、DELETING、SORTING、および SEARCHING エントリが含まれている必要があります。私の問題は次のとおりです。
- 「ランナー」を大文字で追加したい。
- データベースに何かを追加/削除すると、ファイルが空のままになるか、実際に追加したエントリだけがエントリになります。
1 つのファイルをデータベース エントリとして使用し、2 番目のファイルをすべてのロジックに使用しています。事前に助けてくれてありがとう。
データベースには、次のレコードがあります。
「_」コンポーネントは、DATE、HEIGHT、WEIGHT などです。データベース ファイルの名前はdatabase.pl
です。
論理的には、次のようになります。
すべてのランナーは自分の名前と姓で書かれている必要があり、他のフィールドは空白にすることができます. 少なくとも名前、姓、最大で名前、姓、身長、日付、体重を追加する方法... 最初の 2 つのフィールドのみが必須であり、他のフィールドは必須ではありません。
csv - プロローグからcsvファイルを読み取り、事実/節に変更します
私csv_read_file
は csv ファイルを読み取るために使用します。これは次のとおりです。
csv ファイル:
コード:
私は次のようなものを得ました:
しかし、私が必要なのは
これは実際には述語です。
どうすればそれを取り除くことができrow
ますか?後はやるしかないと思いますassert()
。
prolog - Prolog の論理更新ビューはアサートとリトラクトに対してどのように機能しますか?
アサートとリトラクトに関する Prolog の論理ビューを詳しく説明してもらえますか?
たとえば、以下のコードでは、Prolog は最初の実行で true を返し、その後の実行で false を返します。asserta(nextBound(100))
Prolog の論理ビューが満たされると、nice(X) は開始時の値でまだ凍結されているため、この変更は無視され、 nextbound(100)
false でなければならない理由がわかりません 。
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 の方言に関する基本的なことが欠けています。