問題タブ [jpl]
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.
swi-prolog - SWI-Prolog の JPL と CLPFD
JPL から SWI-Prolog に CLPFD クエリを送信し、実行された出力を Java プログラムに受け取る必要があります。JPLを使用してJava側から使用しているコードをPFAします。
ここで、JPL を使用して CLPFD クエリを SWI-Prolog に送信する必要があります。クエリは次のとおりです。
JPL を使用して CLPFD を SWI-Prolog に送信し、実行された出力を取得する方法を知りたいです。これは次のとおりです。
これが JPL で実行可能かどうかを知りたいのですが、可能であれば、これに関する専門知識を共有できますか?
java - jpl.PrologException: 存在_エラー
JPLの使い方を理解しようとしています。この目的のために、そのテストの 1 つをドキュメント セクション ( swipl\doc\packages\examples\jpl\java\Time
) から Eclipse にコピーし、実行しようとしました。
バッチ ファイルをダブルクリックすると、すべて正常に実行されます。Eclipse を使用して Time クラスを実行すると、
簡単な Java プロジェクトを作成しました。ルートにコピーTime.java
されます。time.pl
また、必要なパス変数を作成jpl.jar
し、プロジェクトに接続しました。
JPL.init()
動作します。この部分の if ステートメントで失敗します。
java - JPL で複数の結果を使用して Prolog をクエリする
Prolog で AI のナレッジ ベースを構築したいと考えています。まず、ゾウや巨大アリなどのおもちゃの例を使って、Prolog とその使い方を学びたいと思います。
私が使用しているのは、NetBeans 8.0.1、SWI-Prolog 6.6.6、および Windows 8.1 です。すべてが 64 ビットで、環境変数が正しく設定されています。jpl.jar
NetBeans ライブラリの にもリンクしました。
私の Prolog ナレッジ ベースは次のようになります。
これに触発されました。知識ベースは、SWI-Prolog でエラーなく動作します。
ただし、Java で X が ant より大きい場合に複数の回答を取得しようとすると、スタック オーバーフロー エラーが発生します。
これは、JPL が使用されている Java コードのスニペットです。
Java コードはほとんどここから取られました。
solution.get("X")
NetBeans のデバッガーから得られる情報から、スタック オーバーフロー エラーは、Java がコード スニペットの最後で の値を決定しようとしているときに発生するようです。
これは私のコンソール出力がどのように見えるかです:
これを解決する方法についてのアイデアはありますか? 必要に応じて、さらに情報を提供します。
eclipse - JPL Prolog/JAVA接続
Eclipse コンソールから Prolog プロジェクトを参照したいと考えています。インストールしました: SWI PROLOG 32 ビットと ECLIPSE LUNA 32 ビット 環境システム変数について... SWI_HOME_DIR
swi prolog のパスを追加しました。C:\Program Files(x86)\swipl;
path
最後に変数に追加しました;%PrologPath%\bin;%PrologPath%\lib\jpl.jar ;
prolog-project の出力をコンソールに表示するにはどうすればよいですか? どのようなプロジェクトを Eclipse でビルドする必要がありますか? また、どのような Java ファイルを作成する必要がありますか? 誰かが私のプロローグプロジェクトを参照するためのコードを教えてもらえますか? 私のプロローグプロジェクトはプロローグホームにあります( C:\Program Files (x86)\swipl\project1\src\file.pl )
java - JPLを使用してJavaとプロローグの間でオブジェクトの状態を共有するにはどうすればよいですか?
Javaでオブジェクトを作成したい:
jplクエリでプロローグに渡したいです。
オブジェクトの受け渡しをプロローグするために Java を実行するにはどうすればよいですか?
次のようなプロローグ ファイルで jpl_new を使用できることを知っています。
しかし、jpl_new 呼び出しを避け、java オブジェクト obj で jpl_call を使用したいだけです。
逆に、 プロローグからJavaオブジェクトへの受け渡しを実現するにはどうすればよいですか?
つまり、jpl_new 呼び出しで作成されたオブジェクトを Java に渡します。
つまり、Java と Prolog の間でオブジェクトの状態を共有したいのです。
java - Java Die、スネークアイズを数える
大学では、Die オブジェクトを 2 つ作成し、それらを数回転がして、発生するスネークアイの数を数えます。
これは私が持っているコードです。プログラムをコンパイルして実行するたびに失敗するので、助けが必要です。どこが間違っているのか100%確信が持てません.私の大学に行かない限り、解決策が役立つかどうかは完全にはわかりません.
失敗は - http://i.imgur.com/ghcOlpP.png
(これはすべて JPLIDE でコーディングされています)
java - JPL textToTerm は匿名変数のみを生成します
Java プログラムで SWI-Prolog クエリを実行するために JPL を使用しています。新しいクエリを作成したい場合、jpl.Util.textToTerm
自分で解析せずに、ユーザー入力から直接用語をインスタンス化できるようにしたいと考えています。
問題は、このメソッドが常に変数識別子 (大文字で始まるもの) を無名変数 (つまり で始まるもの) として解析するように見えることです_
。
たとえば、ではなく名前を持つjpl.Util.textToTerm("X")
a が返されます。これは明らかに問題です。これは、クエリ後にバインディングにアクセスできないことを意味するためです。jpl.Variable
_1
X
jpl.Query
文字列から直接作成するnew Query("reverse([1,2],X)")
のとまったく同じ問題があります。