問題タブ [dcg]
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 - (swi)プロローグのファイルから整数を読み取るための述語
swi-prologのIOマニュアルページを閲覧していましたが、ファイル/ストリームから整数(または数値)を読み取るための述語が見つかりませんでした。グーグルでも何も見つかりませんでした:|
私はそれを書く方法を知っています、私はそれがより速いだろうと思うので、何かが組み込まれているのかどうか疑問に思っています。
list - 葉からの情報をリストに入れる
木の葉の情報をリストに載せるプログラムを書きたい。私はこれをやってみました:
しかし、それは私に与えますL=[_A]
。何故ですか?
prolog - プロローグ --> 演算子-演算子が必要
大学でのタスクの例として、いくつかのコードを受け取りました。私は彼らの例を実行しようとしているので、実際の例を見て、必要な同様のものを作ることができます。そこにあるほとんどのエラーを修正しました(「-->」ではなく「-->」がありました)が、それでもエラーメッセージが表示されます。
最後の行のようなものを使用したことがないので、エラーが何であるかわかりません。「-->」演算子については、これまで使用したことがなかったので、リンクがあると思いましたが、有用なものは何も見つかりませんでした。私はswi-prologを使用しています。
prolog - 再帰的なsicstusプロローグ関数を書き直します
私の目標は、次のような情報を提供することです。
この出力で:
そして、このコードを使用すると、ツリーの葉の数がカウントされます。
入力としてツリーではなくリストを関数に与えるだけで、目的の出力を取得できます。例:
ここでの唯一の問題は、引数が間違った順序で取得されることです(つまり、build_tree(L、T)ではなくbuild_tree(T、L))。
では、どうすれば同じ結果を生成できますが、入力引数を単純に入れ替えることができますか?私はすべての「明白な」解決策(変数を入れ替える)を試しましたが、再帰的な方法であるため、見た目ほど簡単ではないかもしれないと推測しています。
prolog - 中括弧を含む文法
プロローグで DCG 文法を解決しようとしていて、ある程度まで成功しました。これらのような中括弧を含む式の評価に行き詰まっています。
expr( T, [’(’, 5, +, 4, ’)’, *, 7], []),
prolog - Prolog での式ツリーの構築
Prolog で Expression Tree を構築する方法を探しています。私はすでにいくつかの実験を行い、次の作業コードを思いつきました(定数とプラス式のみを処理します):
このアプローチに代わるより簡単な方法はありますか? プログラムに追加する予定の演算子ごとに、これら 4 つのケースを定義する必要がありますか?
prolog - プロローグで「左のどこか」を表す方法は?
プロローグで、「どこか左へ」という状況をどう表現するか。たとえば、リスト "List" と 2 つの用語 "X" と "Y" があり、規則を表す方法: X はリスト内の Y の左側にあります。
prolog - Prolog ベースのインタープリター
私はすでに関数型プログラミングに慣れてきました。私は Haskell と PLT スキームに精通しています (熟練していませんが)。私は PLT スキームを使用して、玩具言語 (PLAI を参照) 用の小さなインタープリターを作成しました。命令型言語の方が得意です。
Prolog で選択したおもちゃの言語の小さなインタープリターを構築するために使用できるリソースを誰か教えてもらえますか?
list - ファクトの順序を変更すると、述語の動作が変わるのはなぜですか?
これが私の最初のアイデアです。
を実行しようとすると-? perm([1, 2, 3], P).
、スタックオーバーフローの問題が発生しました。
ただし、2つのステートメントの順序を変更すると、機能します。
なんで?私はPrologの初心者です。助けてください。
io - テキストファイルを読み込んでPrologのファイルに印刷するにはどうすればよいですか?
テキストファイルがあり、それを読み込んで画面に印刷し、新しい出力ファイルに書き込みたいと思います。だから私がこれまでにやったことは
しかし、私は次のようなエラーメッセージを受け取っただけです。
私は何をすべきか?