Prolog 从用户输入读取文本文件
现在,用户可以输入文本文件名并使用see(file)谓词读取文本文件。Prolog 从用户输入读取文本文件,prolog,Prolog,现在,用户可以输入文本文件名并使用see(file)谓词读取文本文件。 但是see(File)必须遵循类似see('File.txt')的格式,因此如何根据用户输入文件名读取文本文件?要捕获用户的输入,请使用read()谓词: find :- write('Enter File Name: '), see(File). seen. 所以你可以试试这个: read(X). 这是我最终得到的正确答案。 输入包含单引号的文件名,然后选择检查文件名是否存在 True将返回找
但是see(File)必须遵循类似see('File.txt')的格式,因此如何根据用户输入文件名读取文本文件?要捕获用户的输入,请使用read()谓词:
find :-
write('Enter File Name: '),
see(File).
seen.
所以你可以试试这个:
read(X).
这是我最终得到的正确答案。
输入包含单引号的文件名,然后选择检查文件名是否存在
True将返回找到的记录否则未找到的记录。但输出将如下所示:输入文件名:|:'xxx.txt',我希望这样输入文件名:'xxx.txt',我可以假设用户不会用单引号输入文件名。因此,我如何为它设置单引号?我现在没有安装prolog系统进行测试,但是您可以使用string_concat/3来连接单引号吗?
find :-
write('Enter File Name: '),
read(File),
see(File),
seen.
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'), !).