Prolog格式
我对用格式制作表格有疑问,我需要制作表格,我知道我可以这样做: 例如,如果我的表格是Prolog格式,prolog,format,tabular,Prolog,Format,Tabular,我对用格式制作表格有疑问,我需要制作表格,我知道我可以这样做: 例如,如果我的表格是tabla(“estudents”,“name”,“age”,“id”) 但我有一个问题,我需要得到表的属性数,然后我将每个正方形的长度设置为18,长度为N print_table_name(C):- tabla(C,A), //I SEARCH MY TABLE atom_codes(Name,C), //PASSING T
tabla(“estudents”,“name”,“age”,“id”)
但我有一个问题,我需要得到表的属性数,然后我将每个正方形的长度设置为18,长度为N
print_table_name(C):- tabla(C,A), //I SEARCH MY TABLE
atom_codes(Name,C), //PASSING THE NAME TO ATOM
length(A,N), //I GET MY NUMBER OF ATRIBUTES
Length is 18*N, //Length WILL BE THE LENGTH OF THE TABLE
print_edge(N), //HERE I PRINT THE TOP EDGE
format('|~t~a~t~N|)|~n',Name), //HERE IS MY ERROR
print_edge(N). //HERE I PRINT THE BOTTOM EDGE
print_edge(0):- format('~n',[]).
print_edge(N):- format('+~`-t~18|+', []), M is N-1, print_edge(M), !.
format('|~t~a~t~N |)|~N',Name)
这里我不能将N作为变量传递,那么我不知道如何格式化才能得到N,N是表的长度。。
它会打印这个吗
+--------------------------------------------------------------------------+
|students
||
+--------------------------------------------------------------------------+
如果我把长度设为N,那么它就起作用了
+--------------------------------------------------------------------------+
| students |
+--------------------------------------------------------------------------+
问题是我不知道如何将变量N传递到format。在这种情况下,应该将N作为参数传递给谓词。用符号*替换格式中的变量N,并将N放入参数列表中。
我不确定你是否会得到欲望效果,但至少不会失败
format('|~t~a~t~*|)|~n',[Name, N]).
编辑
现在我只能在这个有限的环境中测试解决方案:我用字符点替换~t
,以查看效果,结果如下:
?- format('|~46t~a~46t~*|)|~n',['students', 72]).
|...............................students................................)|
PS:您确定最后两个竖线之间的括号吗?在这种情况下,您应该将N作为参数传递给谓词。用符号*替换格式中的变量N,并将N放入参数列表中。
我不确定你是否会得到欲望效果,但至少不会失败
format('|~t~a~t~*|)|~n',[Name, N]).
编辑
现在我只能在这个有限的环境中测试解决方案:我用字符点替换~t
,以查看效果,结果如下:
?- format('|~46t~a~46t~*|)|~n',['students', 72]).
|...............................students................................)|
PS:你确定最后两条竖线之间的括号吗