从事实中找出最长的原子长度。 (序言)

时间:2014-09-17 20:22:18

标签: prolog

我有定义四个名字的事实。

name('Fooo Baar').
name('Bar Fo').
name('Far Boooo').
name('Example Example').

如何迭代这些事实以找出最长的名字。这是我目前的进展,但我没有任何想法下一步该做什么。

longest_name(L):-
   name(Nimi),
   atom_length(Nimi, L),
   write(L),
   nl,
   fail.

1 个答案:

答案 0 :(得分:0)

陈述性方法:

longest_name(L) :-
    name(N), atom_length(N, L),
    \+ (name(X), atom_length(X, Y), Y > L).

\ + means没有,所以它应该是相当可读的......