【发布时间】:2021-10-06 14:56:44
【问题描述】:
初始代码:
nutrition(fruits, NutritionList) :-
findall(Nutrition, fruitNutrition(Nutrition), NutritionList).
这样做的问题是它试图在 1 行上打印所有营养,而我希望它们在单独的行上。
得到:
NutritionList = [a,b,c,d];
通缉:
NutritionList =
a
b
c
d
然后我尝试了在另一个 SO 答案中找到的这种方法:
nutrition(fruits, NutritionList) :-
findall(Nutrition, fruitNutrition(Nutrition), NutritionList),
maplist(writeln, NutritionList).
但这样做的问题是它不会在顶部打印变量名称,并且还会在单独的行上打印一次输出,并以旧方式打印一次,例如:
a
b
c
d
NutritionList = [a,b,c,d]
如何获得我想要的格式的输出(在上面的粗体 wanted 下)?
【问题讨论】:
标签: list prolog logic swi-prolog