問題タブ [swi-prolog]
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.
editor - SWI-Prologエディターの問題
しばらく前、私はSWI-Prologエディターをいじって、何かを動作させようとしていて、いくつかの構成設定を変更しました。動作しなかったので、元に戻しました。現在、SWI-Prologエディターが正しく機能していません。ファイルをロードしますが、「consult」をクリックすると、次のエラーがスローされます。
Consult('C:/Users/Cubearth/Documents/Prolog/'filename.pl')。
ナレッジベースでクエリを実行できません...何もしません。私はそれが戻るべきであることを知っています:
しかし、私はそれさえも得ていません。私はプロローグとエディターの両方をアンインストールしようとしましたが、それでもうまくいきませんでした。
これを修正する方法について何かアイデアはありますか?
助けるために、私はプロローグの構成ダンプを含めました:
インストール
swi-prolog - Prolog で算術関数を定義しますか?
それは
今、私は使いたい
しかし、それは
リストで算術関数を使用するにはどうすればよいですか?
animation - XPCE チュートリアルを探しています
XPCE で簡単なアニメーション (正確には4 つのメガネのパズル) を作成します。私は XPCE についてまったく何も知らないので、チュートリアルを調べましたが、結果は期待外れでした。次の資料を教えてください。
- 「キャンバス」で作業する
- アニメーション
- タイマー
編集: わかりました、ここでより詳細な問題があります: 2 つのボックスを描画し、2 秒待って、ボックスを非表示にしてから、タイマーを開始します。
編集2:さて、ここに別の質問があります(新しい質問を開く必要がありますか?):これは私が使用しているコードです:
に新しいビットマップを設定したいのですがB1
。それ、どうやったら出来るの?変更BM1
するだけで十分でしょうか?または、おそらく代替ソリューションがありますか?直立メガネと逆メガネの両方を画面外に描画して交換することを考えていましたが、そのような解決策の詳細についてはわかりません。
EDIT2':解決しました。後世のために:
php - PHP と Prolog を組み合わせる方法
PHPスクリプトを使用してPrologを呼び出そうとしています。ここで見つけた構文を使用しています。これは次のとおりです。
このプログラム/bin/pl
は、私が Prolog をインストール/home/popx/cgi-bin/test.pl
した場所であり、参照するファイルの場所です。それに応じてパスを変更した後、出力が得られません。誰かが私を助けてくれますか?
私はすでに、How to use Prolog with PHP?という質問に精通しています。、および Invoking SWI-Prolog from PHPですが、私の質問には答えません。
io - Prologでファイルを1行ずつ読む
プレーンテキストファイルを読み取り、各行に述語を適用したいと思います(述語にwrite
は出力を行うものが含まれています)。どうすればいいですか?
java - セマンティック Web における SWI-Prolog
SWI-Prolog のセマンティック ライブラリを使用した、実際のプログラミング経験のある方からのご意見をお待ちしております。
編集: この質問の理由は、私がプロローグの経験を持つ多くの人々と話をした中で、彼らのほとんどが学術プロジェクトで何らかの AI プログラミングにプロローグを使用しているように見えるからです。誰かが本番環境で広く使用しているかどうかを知りたかった. リアルタイムの保守性のため、パフォーマンスは、良い成績を得るためにプロジェクトを実行するのとは異なります。
Java のようなプログラミング言語とどのように統合しましたか?
編集:回答で述べたように、REST サービスまたは SWI-Prolog の外部インターフェイスの使用が 2 つの最適なオプションのようです。
(セマンティック Web のコンテキストで) Prolog ライブラリを何に使用しましたか?
おそらく、ここでこれに対する明確な答えを得ることはできません。おそらく、この質問はセマンティックオーバーフローに属しています。私は今、公正な考えを持っており、より適切なフォーラムでこの議論を続けます.
どの開発環境を使用しましたか? SWI-Prolog が提供する Emacs またはそのバリアントが圧倒的な答えのようです。
Intellij IDEA for Java のような IDE はまったく必要ありませんでした。結局どうしよう、オートコンプリート?ルールベースの言語の必要性を理解しています。繰り返しになりますが、開発環境について説明した理由は、ルール (デバッグ) を追跡し、知識セットの異常を特定するのに役立つからです。SWI-Prolog のグラフィカル トレーサーは最初の要件を処理しますが、少なくとも私には、見掛け倒しで制限があるように見えました。しかし、私は他に何かがあるとは信じていません。
SWI-Prolog を使用するというアイデアは本当に気に入っていますが、生産性に影響する場合は使用を控えます。
回答で述べたように、Prolog は得意なことを実行するために使用する必要があります。私は常にこれを知っていたので、他のプログラミング言語との統合に関する私の質問です。最大の生産性の豚は開発者の質であり、開発段階にあるようです。システムの問題は休止状態で簡単に修正できない場合がありますが、一連の質問を使用してシステムの有効性を確認することで対処できます。
注: 回答について言及するときは、@littletable によって提供された回答を意味します。また、セマンティック Web 用の SWI-Prolog に興味がある人にとっては、theaが興味深いようです。
prolog - SWI-Prologファイルには開始文字と終了文字が必要ですか?
私はSWI-Prologを初めて使用し、いくつかのチュートリアルを試しています。ただし、コマンドラインからロードしようとするすべてのファイルには、2つのエラーメッセージが表示されます。1つは開始時(オペレーターが予期)、もう1つは終了時(予期しないファイルの終わり)です。ファイルは、私が作業しているディレクトリと同じディレクトリに保存されます。
たとえば、このファイルをkb2.plとして保存しています。
Prologを開いてから(/ opt / local / bin / swiplを介して)、私のコマンドラインは次のようになります。
%library(swi_hooks)をpce_swi_hooksにコンパイル0.00秒、3,928バイト
SWI-Prologへようこそ(マルチスレッド、64ビット、バージョン5.10.2)
Copyright(c)1990-2010アムステルダム大学、VUアムステルダム
SWI-Prologには絶対に付属しています無保証。これは無料のソフトウェアで
あり、特定の条件下で再配布することを歓迎します。詳細については、 http://www.swi-prolog.org
を ご覧ください。ヘルプ、?-help(トピック)を使用します。または?-apropos(Word)。
?-[kb2]。
エラー:/Users/name/Desktop/kb2.pl:1:0:構文エラー:オペレーターが予期
しましたエラー:/Users/name/Desktop/kb2.pl:10:52:構文エラー:予期しないファイルの終わり
%kb2コンパイル済み0.00秒、2,584バイト
true。?-
コンパイルされたファイルのリストを要求すると、次のようになります。
\ happy(yolanda)。
\ playingAirGuitar(mia):-listensToMusic(mia)。
\ playingAirGuitar(yolanda):-listensToMusic(yolanda)。
本当。
つまり、ファイルの最初と最後の行を切り取っています。
私はこれらのエラーメッセージをオンラインで検索し、Prologのフォーマットに関する多くの有用なヒントを見つけましたが、この状況に対処するものはありません。Prologのファイルの開始と終了に使用する必要がある特殊文字またはフォーマットはありますか?
performance - ファイルへの swi-prolog time/1
time/1 の結果をファイルに書き込んだり、実行時の比較を自動化するために変数として返すことは可能ですか?
または、これを行う別の述語がありますか?
java - JPLを介してJavaアプリ内で実行されるPrologコードでGUIデバッガーを使用するにはどうすればよいですか?
私はJPLブリッジを介してJava+Prologアプリケーションを開発しています。メインアプリケーションはJavaであり、を使用してPrologコードを呼び出しますQuery.oneSolution("doPrologStuff(here)")
を使用してGUIデバッガー/トレーサーを実行しようとしましQuery.hasSolution("gtrace")
たが、例外がスローされます。
(「guitracer」も同様です)
Prologコードを直接実行すると、呼び出しgtrace.
はうまく機能します。swipl
試しQuery.hasSolution("trace")
てみると、テキストコンソールを使用してコードをデバッグできますが、それは私が探しているものではありません。GUIデバッガーを有効にする方法はありますか?
私はUbuntuでEclipseを使用して開発していますが、それが役立つ場合は他のツールを試すことができます:)
xml - swi-prologで、load_xml_file('file.xml'、Term)から取得した用語をきれいに印刷するにはどうすればよいですか?
swi-prologは、XMLツリーを表すために...のリストのリストのリストを使用します。私は試した
インデントが良くない、そして
リストをサポートしていません、そして
リスト用ではないようで、rbツリーライブラリで定義されています。