Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在prolog中获取两个字符串的最后一个字母_String_Prolog - Fatal编程技术网

String 在prolog中获取两个字符串的最后一个字母

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, [

我试图在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, [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)。