1
我想让用户输入他们的生日,所以我可以告诉他们他们的星座。但是,我很难得到他们的实际生日和月份。有人可以帮我吗?我试图将读取分隔成不同的函子,但我不断收到错误。当我将两个读取结合起来时,出现的错误是“语法错误:操作员优先级冲突”。我将两个读取分开时得到的错误是“错误:=:=/2:参数没有充分实例化”。当我分开读取如何获得用户输入序言和存储
start :-
read_month,
read_month :-
write('Enter your birth month (month followed by a .): '),
nl,
read(X),
write('Enter your day of birth (followed by a .): '),
nl,
read(Y),
horoscope(X,Y).
代码:当我结合读取
代码
start :-
read_month,
read_day.
read_month :-
write('Enter your birth month (month followed by a .): '),
nl,
read(X).
read_day :-
write('Enter your day of birth (followed by a .): '),
nl,
read(Y),
horoscope(X,Y).
downvoted,因为这不回答这个问题。这个答案会对实际问题做出回答,并提出一个很好的评论或附注。 – Xaser 2017-11-03 05:57:51
@ Xaser,意外地看到了这个问题和你的评论,提供的答案是比op提供的更好的优化方法,所以这怎么回答这个问题(因为它被接受)? – coder 2017-11-03 17:37:41
@coder,答案可能已被接受,因为OP对所提供的解决方案感到满意,尽管它没有做他最初打算做的事情。但是,还有很多其他人在谷歌上遇到这个问题,替代方案是不可行的,他们仍然在寻求一种方法来完成问题的要求(即使用正确的终端查询)。 – Xaser 2017-11-04 02:55:11