首页 > 解决方案 > 如何在序言中使用 line/2 谓词打印带有输入的行

问题描述

我已经走到这一步了。我是 prolog 的新手,我想制作简单的数字。我想像这样输入:

line(X,Y):-
read(Y), print(Y).
print(Y) :- write(Y).

this should be the result.

?- line(8, X).
XXXXXXXX

标签: prolog

解决方案


不确定我是否正确理解了您的问题,但如何:

line(Length,Char) :-
    length(List,Length),
    maplist(=(Char),List),
    atomic_list_concat(List,Atom),
    write(Atom).

line(8,'X')printXXXXXXXXline(3,q)print也是如此qqq

用途:


推荐阅读