| ||||||||||
| MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008. xtAddWorkProc(+WorkName, +WorkPredicate, +ClientData) xtRemoveWorkProc(WorkName) intrinsicsのXtAdd/RemoveWorkProc()に相当します。 xtAddWorkProc/3は、MainLoopからの未解決のイベントがない場合に呼び出されるべきWorkPredicate/2を登録します。 WorkPredicateは、2引数の述語でなければなりません。これは未解決なイベントがない時に、以下に示す形式で呼び出されます。 WorkPredicate(WorkName, ClientData). WorkPredicate/2は、ユ−ザインタフェ−スをアクティブな状態に保つために、1秒以内に終了するようにした方がよいでしょう。 WorkPredicate/2が失敗した時には、自動的に登録が取り消されます。 [user].
| write_working(WorkName, ClientData) :-
write('working '),
write(WorkName),
write(' with client_data '),
write(ClientData),
nl,
write('please enter true. or fail.'),
nl,
read(A),
A.
|EOF
yes
?- xtAddWorkProc(work_question, write_working, xxx),
xtMainLoop.
working work_question with client_data xxx
please enter true. or fail.
true.
working work_question with client_data xxx
please enter true. or fail.
true.
working work_question with client_data xxx
please enter true. or fail.
fail.
yes ?- _ <xtAddWorkProc/3> work_name_already_used WorkNameで指定した仕事がすでに存在している illegal_work_predicate WorkPredicate/2が存在していない <xtRemoveWork/1> illegal_work この名前の仕事は登録されていない | ||||||||||
|
| 戻る> |
|