有一个用户列表。需要输入一个字符并查找名称以该字符开头的所有用户。
!!以下任务嵌入谓词转换不使用符号和线条。
你可以
这样做:
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是否支持它们。