我找到了一种方法来做到这一点,基本上,您需要创建 2 个列表。第一个是您的日子,第二个是日子的名称。然后,您需要迭代它们,但是,因为事实上没有loop
在 Prolog 中进行构造时,您必须使用递归函数来完成此操作。
以下是我的实现方式:
iterate_weeks([], _).
iterate_weeks([H|T], [X|Y]) :- H = 1, write(X), nl, iterate_weeks(T, Y).
iterate_weeks([H|T], [_|Y]) :- H = 0, iterate_weeks(T, Y).
print_fly_days(From, To):-
fly(_, From, To, _, _, days(A,B,C,D,E,F,G)),
L = [A,B,C,D,E,F,G],
T = [monday, tuesday, wednesday, thursday, friday, saturday, sunday],
iterate_weeks(L, T).