0
我想要讀取文件並將每行中的單詞存儲爲列表。這是我的代碼:Amzi Prolog Tokenize
main :-
open('sample.txt', read, Str),
read_file(Str,Lines),
close(Str),
write(Lines), nl.
read_file(Stream,[]) :-
at_end_of_stream(Stream).
append1([H|T],Old_list,New_list):-
New_List = [H|Old_list],
write(New_List),
append1(T,New_List,New_list).
read_file(Stream,[X|L]) :-
\+ at_end_of_stream(Stream),
read(Stream,X),
write(X),
append1(X,[],New_List),
read_file(Stream,L).
我意識到X是一個術語,但我無法讓我的程序工作。
Input : 'Australia', 'Singapore','23','34','Mon/Tue'.
Output : New_List=[Australia,Singapore,23,34,Mon/Tue].
我正在使用Amzi prolog btw!
在此先感謝您的幫助!
你的例子表明你願意在事物的輸入方面進行相當多的格式化。可以想象,如果輸入與你所顯示的一樣「好」,那麼所有需要的(獲得期望的列表)是將給定的行作爲一個字符串輸入,去除終止週期,並打開和關閉它的方括號。得到的字符串將被Amzi的謂詞** string_term **解析爲具有所需數量項目的列表。我的答案中概述的方法旨在成爲一種更強大和更普遍的做事方式。 – hardmath 2012-03-15 14:17:33