문자열의 마지막 문자를 가져와야합니다. 예 :프롤로그에서 문자열의 마지막 문자 가져 오기
?- last_char('abde', X).
X = 'e'
?- last_char('abdef', X).
X = 'f'
누군가 나를 도와 줄 수 있습니까? 나는 프롤로그에게 새로운 사람이다. sub_atom/5, 정말 편리한 ISO의 내장의 도움으로
문자열의 마지막 문자를 가져와야합니다. 예 :프롤로그에서 문자열의 마지막 문자 가져 오기
?- last_char('abde', X).
X = 'e'
?- last_char('abdef', X).
X = 'f'
누군가 나를 도와 줄 수 있습니까? 나는 프롤로그에게 새로운 사람이다. sub_atom/5, 정말 편리한 ISO의 내장의 도움으로
:
?- sub_atom(abdef, _, 1, 0, C).
C = f.
당신은 name
를 사용할 수 있고 reverse
는 목록에 문자열을 변환하고 백업하려면 :
last_char(S, X) :-
name(S, N),
reverse(N, [F|_]),
name(X, [F]).
을 따라 Prolog 버전에서는 술어에 대해 list
라이브러리를 가져와야 할 수 있습니다 (예 : SICStus 용 :- use_module(library(lists)).
훌륭한 해결책은 항상 Prolog에 대한 새로운 것을 배웁니다. 나는 그것이 조금 더 읽기 쉽기 때문에 아직도 나의 시도를 게시했다 :) – l4mpi
참으로 위대한 해결책! 고맙습니다. 나는 프롤로그에게 새로운, 나 혼자서 모든 것을 배우려고 노력하고있어. 너 정말 날 도와 줬어, 고마워! – renatov
@ l4mpi : 감사합니다. 나는 원자와 문자열의 차이에 대해 자세히 다룬다 ... – CapelliC