String 在prolog中获取两个字符串的最后一个字母
我试图在prolog中获取两个字符串的最后一个字母,并在prolog中输出它们。示例:“body”、“hello”输出应为X=yo 到目前为止,我有这个方法String 在prolog中获取两个字符串的最后一个字母,string,prolog,String,Prolog,我试图在prolog中获取两个字符串的最后一个字母,并在prolog中输出它们。示例:“body”、“hello”输出应为X=yo 到目前为止,我有这个方法 lastletter(S, X) :- name(S, N), reverse(N, [F|_]), name(X, [F]). twoterms(S, N, X) :- name(S, A), reverse(A, [F|_]), name(Q, [F]), name(N, Z), reverse(Z, [
lastletter(S, X) :-
name(S, N),
reverse(N, [F|_]),
name(X, [F]).
twoterms(S, N, X) :-
name(S, A),
reverse(A, [F|_]),
name(Q, [F]),
name(N, Z),
reverse(Z, [E|_]),
name(Y,[E]),
atom_concat(X,Y,Q).
我最后一封信的方法奏效了。我很难想出解决这两个问题的办法。谢谢最后一个atom_-concat/3调用应该写为atom_-concat(Q,Y,X)。在ISO Prolog中,只需说
sub_-atom(S,1,0,X)。