Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 prolog 的新手,直到现在我能够读取文件的所有单词,一个一个地显示它们,现在我想将它们存储在一个列表中(一个一个地,当我显示它们时)。随处给出的所有追加逻辑,将两个列表的内容追加到一个空列表中。例如 append(new_word,word_list,word_List),最初我的 word_list 是空的,所以一切都很好,但之后它说不,然后停止。需要帮助才能将元素一一存储在列表中。
您可以使用差异列表:
file_to_list(W, L) :- read_word(Word), append_dl(W, [Word|U]-U, Ws), !, file_to_list(Ws, L). file_to_list_1(Ws, Ws). append_dl(X-Y, Y-Z, X-Z).
您调用file_to_list(UU, L-[])来获取单词列表。没有减速,但比 CapelliC 的代码(每个单词一个)需要更多的推论。