Ответ в теме: Ввод списка на prolog

      Комментарии к записи Ответ в теме: Ввод списка на prolog отключены
#2434

В SWI-Prolog и ряде других диалектов список является термом, поэтому для его ввода можно использовать стандартный предикат read. Например, следующим образом:
read(List), is_list(List), write(List); write('is not a list').
Напомню, что ввод в этом случае должен завершаться точкой, т.к. считывается терм. Результаты работы такого кода показаны на снимке экрана. Встроенная функция is_list проверяет является ли терм списком. Этот код будет отлично работать для любого терма, однако, если ввести некорректные данные (не терм) – то программа может выдать ошибку при выполнении функции read.

Вложения: