У меня есть программа на прологе, которая принимает пути к файлам в качестве аргументов. Примерами входных данных могут быть «a.txt», «b.txt» и т. Д. Итак, допустим, у меня есть этот код:
solve(file):-
write(file).
Это слишком упрощено, и этот предикат может использовать файл во многих различных подпредикатах. Моя проблема заключается в следующем: я ожидаю, что с запросом solve('a.txt')
a.txt будет передан в качестве аргумента (в этом случае он выведет .txt) для использования внутри этого предиката. Однако, кажется, что если я напишу что-нибудь кроме solve(file)
. он выдает false. Почему это происходит? Какой должен быть аргумент, чтобы я мог успешно передать «a.txt» или «b.txt» внутри предиката?