Prolog 从用户输入读取文本文件

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)必须遵循类似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'), !).