このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1301067486/929
#  AをB、BをC・・・と 
#  アルファベットをひとつずつずらすには、どうやって書いたらいいでしょうか? 
#  サクラエディタでの置換を考えてます 
# 
# 

'AをB、BをC・・・とアルファベットをひとつずつずらす'(_文字列,_アルファベットをひとつずつずらされた文字列) :-
        findall(_ずらした文字,(
                    sub_atom(_文字列,_,1,_,_文字),
                    アルファベットをひとつずらす(_文字,_ずらした文字)),
                L),
        concat_atom(L,_アルファベットをひとつずらされた文字列).
                   
アルファベットをひとつずらす(_文字,_ずらした文字) :-
        append(_,[_文字,_ずらした文字|_],[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]),!.
アルファベットをひとつずらす(_文字,_ずらした文字) :-
        append(_,[_文字,_ずらした文字|_],['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y',Z']),!.
アルファベットをひとつずらす(_文字,_文字).