我需要获取字符串的最后一个字符。例如:
?- last_char('abde', X).
X = 'e'
?- last_char('abdef', X).
X = 'f'
有人可以帮我吗?我是 Prolog 的新手。
我需要获取字符串的最后一个字符。例如:
?- last_char('abde', X).
X = 'e'
?- last_char('abdef', X).
X = 'f'
有人可以帮我吗?我是 Prolog 的新手。
在sub_atom /5的帮助下,一个非常方便的内置 ISO:
?- sub_atom(abdef, _, 1, 0, C).
C = f.
您可以使用name
andreverse
将字符串转换为列表并返回:
last_char(S, X) :-
name(S, N),
reverse(N, [F|_]),
name(X, [F]).
根据您的 Prolog 版本,您可能需要list
为谓词导入一个库reverse
,例如:- use_module(library(lists)).
SICStus。