我有一个单词列表,例如 [cola,fanta,pepsi],我想编写一个谓词来检查是否有任何元素以指定的字符开头。
到目前为止,我的代码如下:
chk_first_letter(Char,[]):-fail.
chk_first_letter(Char, [H|T]):-
perform_check(Char, H);
chk_first_letter(Char, T).
perform_check(Char,[First|_]):-memberchk(Char, First).
但是,即使百事可乐以 p 开头,查阅我的文件并调用 chk_first_letter(p,[cola,fanta,pepsi]) 也不会给我任何帮助。
我试过用 Char==First 而不是 memberchk(Char,First) 但它也没有用。我不确定区别。