Пользовательский ввод, как мы можем это сделать? - PullRequest
9 голосов
/ 24 февраля 2011

Как мы можем получить что-то от пользователя в прологе: например:

animal(dog).
animal(cat).
write('please type animal name:'),nl.
/* How to read from user and store it to X 
and then check that user has typed animal name ?*/
?-animal(X).

Ответы [ 3 ]

16 голосов
/ 24 февраля 2011

Вы можете использовать read для этого.Например, вы можете написать read(X), animal(X). в интерпретаторе пролога или записать это в файл сценария:

:- read(X), animal(X).

Если вы затем введете в приглашение действительное имя животного, оно будет связано с X.введите неверное имя, оно не будет.

Или вы можете определить процедуру следующим образом:

read_animal(X) :-
  write('please type animal name:'),
  nl,
  read(X),
  animal(X).

И затем вызвать ее в интерпретаторе, как read_animal(X)..

Обратите внимание, что ввод должен быть завершен ..

1 голос
/ 24 мая 2017
Animal('X').

Input:- write("enter your name"),nl, 
        read(X), nl, 
        write(X).
0 голосов
/ 24 мая 2017

Чтение значений % name id stud_name ( 'Анкит', 01). имя стержня ('varun', 02).

Read_stud: - напиши («напиши имя, чтобы узнать Id студента»), нл, Чтение (вход), п, stud_name (вход, выход), п, запись (выход).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...