下面是我想出的代碼。但是,這裏有兩個問題。 首先,只顯示X的第一個值,即1。其次,如果Y爲假,則不會跳回到菜單1。 希望能在這方面得到一些幫助。需要輸出的完整列表
time(office_hour,1).
time(office_hour,2).
menu1 :-
write('Input time'),nl,
read(Y),nl,time(Y,X),nl,write(X),nl,menu1.
這是場景的例子。如下所示,僅顯示值1。如何顯示值2? Sry基因,我只是一個新手
?-menu1.
Input time
office_hour.
1.
Input time
你應該張貼的行爲也是一個例子。特別是,你輸入了什麼?如果它不是'office_hour',那麼在調用'menu1/0'前'time/2'將會失敗。 –
sry,我已經更新了我的帖子。 這個'time/2'和'menu1/0'是什麼意思? 我不記得任何這樣的任期從我的講師。 – Kimchi
@Kimchi它在Prolog文檔中,如果你看看它。 '/ n'表示'n'參數。所以'time/2'是2個參數的'time'。如果有一個帶3個參數的「time」,它將是一個不同的謂詞,並被描述爲「time/3」。 – lurker