проблемы с оболочкой пролога SWI - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь промочить ноги каким-нибудь Прологом, так как у меня скоро должен быть проект. Как бы я сделал что-то простое, например, выводить некоторый выводимый текст на консоль? Я использую оболочку SWI и пытаюсь просмотреть файл .pro, который выглядит следующим образом

write_to_screen():-
    write("Hello World").

Однако, когда я пытаюсь просмотреть этот файл, я сталкиваюсь с ошибками компиляции. Кто-нибудь знает, как бы вы вызвали эту функцию из оболочки SWI?

* я получаю ошибку «Синтаксическая ошибка: незаконное начало срока»

1 Ответ

4 голосов
/ 30 января 2012

Синтаксис пролога немного необычен: вы не можете написать * some_term () *, то есть список аргументов не может быть пустым. Напишите ваш параметр без процедуры без скобок:

write_to_screen :-
    write("Hello World").

Обратите внимание, что вам нужно изменить коды кавычек с двойных на одинарные: двойные кавычки - это сокращение для списка символов: т.е.

?- write("Hello World").
[72,101,108,108,111,32,87,111,114,108,100]

пока

?- write('Hello World').
Hello World
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...