私は保存する方法を探しており、フォームを送信し、同じプログラムを呼び出して別のフォームを生成するときに、SWI-PrologでWebフォームの引数を処理した後などです。あるフォームから次のフォームに常に同じプロローグプログラムを呼び出す。
CGI SWI-Prologライブラリは、これらの引数をName(Value)用語のリストとして保存します[Name(Value)]
。
フォーム内の隠し引数のように引数を渡すと(TotalArgumentsはリストです):
format('"<" input type = "hidden" id = "nameofform1" name = "nameofform1" value = "〜w" />〜n'、TotalArguments)、
追加するときに、TotalArgumentsの結果リストに連結されているIDまたは名前を削除する必要があります。最終的なリストが次のようになるようにこれを行う方法についてのアイデアはあります[nameofform1(value1), nameofform2(value2),...]
か?
この引数のリストを書き込んでファイルに追加し、プログラムが再度呼び出されるたびに参照することもできますが、これにより常に引数が読み込まれ、特定のステップで必要な引数とで処理されるフォームのみを読み込む必要があります。一瞬。そうしないと、実行後にこのファイルに望ましくない情報が含まれる可能性があるためです。この方法でそれを行う方法について何か考えはありますか?
この種の問題に関する他の提案はありますか?
隠しフォーム
を使用してソリューションを編集します。次を作成して解決しました。
extract_value([],_). extract_value([A0|__ ], Valor) :- A0 =.. [_, Value], Valor is Value.
そして、次のことを行います。
extract_value(Arguments、Value)、
次のようなフォームの隠された値を送信します。
format('<"input type = "hidden" id = "nameofform1" name = "nameofform1" value = "〜w" />〜n'、[Value])、
次のフォームに追加して、希望どおりに表示されるようにします。
[nameofform2(value2)、nameofform1(value1)]