首页 > 解决方案 > prolog中字典中的搜索词(W)

问题描述

我试图在序言中恢复包含字母“W”的单词。我需要在序言中编写一个程序,其中包含所有包含“w”的单词。

我已经尝试了一切,但我无法弄清楚。

这是清单。

[aid, ale, ant, ape, ara, arm, art, bat, bea, bee, boa, but, dad, day, dry, ear, eat, eel, egg, end, eta, gem, get, got, hen , ian, may, met, oat, old, our, owe, pad, pie, pig, pin, poe, pre, pro, ran, rig, row, sam, say, sea, see, set, ted, the]

有没有办法做到这一点?

标签: prolog

解决方案


我已经尝试了一切

是的,对;-)

忘记 atom_chars/2 和 memberchk/2。你想要 sub_atom/5:

?- List = [aid, ale, ant, ape, ara, arm, art, bat, bea, bee, boa, but, dad, day, dry, ear, eat, eel, egg, end, eta, gem, get, got, hen, ian, may, met, oat, old, our, owe, pad, pie, pig, pin, poe, pre, pro, ran, rig, row, sam, say, sea, see, set, ted, the],
    member(X, List),
    once(sub_atom(X, _, _, _, w)).

推荐阅读