有一个用户列表。需要输入一个字符,找到所有名字以这个字符开头的用户。
!!!以下任务嵌入谓词转换符号和行不使用。
你可以这样做:
name_starting_with(C, Name) :- % Names that start with C
char_code(C, CC), % Get the character code for C
name([CC|T]), % Query names that start with C (code CC)
atom_codes(Name, [CC|T]). % Convert the found character codes to an atom
在回溯时,这应该返回每个匹配的名称,直到不再有。
char_code/2
并且atom_codes/2
是 ISO 谓词,但我不知道 Turbo Prolog 是否支持它们。