User Input , How can we do it?
You can use read
for that. For example you could write read(X), animal(X).
into the prolog interpreter or write this into a script file:
:- read(X), animal(X).
If you then enter a valid animal name into the prompt, it will be bound to X. If you enter an invalid name, it won't.
Or you could define a procedure like this:
read_animal(X) :-
write('please type animal name:'),
nl,
read(X),
animal(X).
And then call it in the in the interpreter like read_animal(X).
.
Note that the input needs to be terminated by a .
.
Animal('X').
Input:- write("enter your name"),nl,
read(X), nl,
write(X).