为什么我在这个Prolog查询中没有从长度中获取值?

时间:2016-09-25 13:18:10

标签: list prolog

我的.pl文件中有类似的内容:

...
path_length(A, B, length(L, size)) :-
    path_record(A, B, L).
...

当我这样做时:

path_length(a,g,X)

我明白了:

X = length([a,b,c,d,f,g],size)

但我希望查询返回的是:

X = 6

我做错了什么?我显然是Prolog的新手,很抱歉,如果这个问题很低,答案对某些人来说很明显。

如果需要帮助,我可以添加更多信息。 (不能添加整个.pl,对不起)让我知道! :)

任何帮助表示赞赏! :) Ty。

1 个答案:

答案 0 :(得分:1)

path_length(A, B, Size) :-
    path_record(A, B, L),
    length(L, Size).