問題タブ [instantiation-error]
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 引数が十分にインスタンス化されていません
作成しているファクトのサブセットを一致させようとしていますが、テストケースはうまく機能していました!
次に、次の潜在的なケースを表すファクトを追加しましたが、今ではかなり壊れています。私は Prolog を初めて使用します。これがなぜなのか、どのように修正すればよいのかわかりません。
提案を歓迎します。
prolog - SWI-プロローグ:エラー:is / 2:引数が十分にインスタンス化されていません
区間内にある滑らかな数を出力するプログラムを作成しようとしています。コードの一部はここにあります:
からまでprimes
のすべての素数を作成する述語もあります。2
B
たとえば、の場合B = 11
、FilPrimes = [2,3,5,7,11]
。
私がSWIを呼び出すときcountsmooth
-のようなProlog
?- countsmooth(1, [2,3,5,7,11,13,17,19,23], 1, 100000000, Count)
。結果が出ます。
しかし、私が電話をかけるとsmooth
、?- smooth(2,100,10000,Smooths).
次のエラーが発生します。
recursion - これをPrologで末尾再帰にすることはできますか?
私はPrologを学んでおり、演習として、指定された数までのすべての数の合計を計算する単純なデータベースを実験しています(つまり、0 = 0、1 = 1、2 = 3、3 = 6、4 = 10、...)。簡単:
counting_sum(150000, X).
それはスタックオーバーフローでどこかで爆発します。Prologが末尾再帰を実行できることは理解していますが、再帰呼び出しをルールの最後に移動すると、次のようになります。
PrevSum
と統合されるまでは使用できないと言っていると思いますcounting_sum(PrevNum, PrevSum)
。それは正しいですか、そしてこの末尾再帰を作成する方法はありますか?違いがあれば、GNUProlog1.3.1を使用しています。
PS私はまだ用語が不安定です。用語を間違って使用した場合はお知らせください。
prolog - `is/2` で十分にインスタンス化された引数がありません
私の「宣言型言語」クラスでは、タングラム パズルを解くプロローグ プログラムを作成する必要があります。パズルは、パズルのポイントの座標のリストによって識別されます。たとえば、puzzle(7,[(0,0),(8,0),(4,4)])
は識別子 7 のパズルで、三角形を表します。
これを解決する私の(素朴な)方法は次のとおりです。実行は を呼び出すことから始まりtangram(Puzzle, Puts)
ます。プログラムは、パズルのすべての可能なピースから始まります。次に、ピースを選び、位置と回転を試して、パズルの有効な位置が得られたら、パズルを配置します。(= プログラムの最後に返される Puts リストにブロックを配置します。) これらすべての可能性をバックトラックします。コードは次のとおりです。
考えられるパズル:
これを実行したときの問題は、次のエラーが発生することです。
トレースすると、Translate の TX 値と TY 値がインスタンス化されていないように見えます。さかのぼってみると、どういうわけか X と Y が placePieces 述語でインスタンス化されていないと思います。値が残っていない場合、述語は失敗するだけですよね?
コードを 5 時間以上調べていますが、間違いを見つけることができないようです。うまくいけば、あなたの1人がこれを見直して、私を正しい方向に戻す時間があることを願っています.
前もって感謝します!
exception - 「引数が十分にインスタンス化されていません」というエラーメッセージが表示され続ける理由を理解できない
Arguments are not sufficiently instantiated
以下に示すように、私が書いた加算ルールによる乗算のエラーが発生し続けます。
私は Prolog を初めて使用し、そのような単純な問題でさえ本当に苦労しています。
書籍やオンライン チュートリアルに関する推奨事項があれば、ぜひ参考にしてください。
Ubuntu Linux の SWI-Prolog で実行しています。
list - シンプルなプロローグ プログラム。取得エラー: >/2: 引数が十分にインスタンス化されていません
との位置にある要素が等しいposAt(List1,P,List2)
かどうかをテストする Prolog 述語を作成しました。P
List1
List2
テスト時:
の出力を期待してX = 2
いましたが、代わりに次のエラーが発生しました。
ERROR: >/2: Arguments are not sufficiently instantiated
このエラーが発生するのはなぜですか?
prolog - 引数が十分にインスタンス化されていない SWI-Prolog
簡単な手順の後に特定の文字列になる文字列のリストを作成できる Prolog スクリプトを作成しようとしています。Prolog に関する私の知識は非常に限られており、これを実行できるかどうかもわかりません。不可能な場合は教えてください。
私はこれまでにこれを手に入れました
この操作を実行できます
しかし、それを後戻りすることはできません
問題の原因は想像できますが、それを回避する方法はありますか?
error-handling - 引数はプロローグで十分にインスタンス化されていません
このコードを実行しようとしていますが、このクエリを使用すると常にこのエラーが発生します。gp174(P, S).
ERROR: >=/2: Arguments are not sufficiently instantiated.
これが私のコードです:
私は何をすべきか?
clprライブラリをどこにロードする必要がありますか?
prolog - string_to_atomの使用中にエラーが発生しました:引数が十分にインスタンス化されていません
私はPrologでURIパーサーに取り組んでいますが、現時点ではもっと単純なもので立ち往生しています。文字列を調べて特定の文字「:」を見つけました。それを見つけたら、その前に連結された文字のみを含む文字列が必要です。
このプログラム:
この結果が得られます:
その部分は正しいと思いますが、charリストを文字列に変換したいので、最後の行を次のように変更しました。
しかし、私はこのエラーメッセージを受け取ります:
エラー:string_to_atom / 2:引数が十分にインスタンス化されていません
私はおそらく何かが欠けています。それが何であるかわかりますか?
prolog - エラー: =:=/2: 引数が十分にインスタンス化されていません
したがって、1 から 10 までの X と Y を使用して、値 'O' gamemap(X,Y,'O') を持つ gamemap/3 をアサートしV2=:= "O"
、V 値の 1 つが 'O' でない場合、このコードでこのエラーが発生します。誰でも助けることができますか?すべてがインスタンス化されていますが、値が 'O' と異なる場合、ゲームマップ (X、Y、V) にロールバックし、おそらく値または何かを削除することをデバッガーで確認しました。これを停止するにはどうすればよいですか?値が「O」でない場合は、他の比較をチェックしてロールバックを行わないようにします。