1
find :-
write('Enter File Name: '),
see(File).
seen.
現在用戶可以輸入文本文件名並使用see(File)謂詞讀取文本文件。 但是,請參閱(文件)必須遵循格式,請參閱('File.txt'),那麼如何讀取基於用戶輸入文件名的文本文件?從用戶輸入中讀取文本文件
find :-
write('Enter File Name: '),
see(File).
seen.
現在用戶可以輸入文本文件名並使用see(File)謂詞讀取文本文件。 但是,請參閱(文件)必須遵循格式,請參閱('File.txt'),那麼如何讀取基於用戶輸入文件名的文本文件?從用戶輸入中讀取文本文件
find:-
write('Enter File Name: '),
read(File),
processFind(File).
processFind(File):-
write('Enter A Name: '),
read(Name),
see(File),
repeat,
read(Term),
processCheck(Term, Name),
seen.
processCheck(end_of_file, _):-
write('Record Not Found'), !.
processCheck(Term, Name):-
Term = Name -> (write('Record Found'), !).
這是正確答案我終於明白了。 輸入文件名,包括一個單引號,然後去檢查名稱是否存在的文件或不。
確實將返回記錄找到否則找不到記錄。
爲了抓住您使用的read()謂詞用戶輸入:
read(X).
所以,你可以試試這個:
find :-
write('Enter File Name: '),
read(File),
see(File),
seen.
但輸出會是這樣 輸入文件名: |:「xxx.txt」 ,我想這樣的 輸入文件名:「xxx.txt」 –
我可以假設用戶將無法輸入文件名與單引號。因此,我怎麼能把它的單引號。? –
我沒有安裝我的prolog系統來測試,但可以使用string_concat/3來連接單引號嗎? –