このディレクトリの索引
#  "0000000000"のような文字列を用意しておいて、"123" のような 
#  任意の文字列を"0000000123"のように置き換えるのって簡単にできますか? 
#  置き換える方の文字列は3桁じゃなくて、いろんな数字があり得ます。 
#  
#  C言語でいうsprintf(%10d, 123)みたいなフォーマットを正規表現で簡単に 
#  再現できますか? 

'"0000000000"のような文字列を用意しておいて、"123" のような
任意の文字列を"0000000123"のように置き換えるのって簡単にできますか?
置き換える方の文字列は3桁じゃなくて、いろんな数字があり得ます。'(_置換対象文字列,_置換文字列,_置換された文字列) :-
        atom_length(_置換文字列,_文字長),
        sub_atom(_置換対象文字列,S1,S2,S3),
        atom_length(S2,_文字長),
        atomic_list_concat([S1,_置換文字列,S3],_置換された文字列).


% *** user: sub_atom / 4 ***
sub_atom(A,H,X,T) :-
        atomic(X),
        atom_chars(A,L),
        atom_chars(X,XL),
        sub_atom_2(L,S,Len,R,HL,XL,TL),
        atom_chars(H,HL),
        atom_chars(X,XL),
        atom_chars(T,TL).
sub_atom(A,H,X,T) :-
        var(X),
        atom_chars(A,L),
        sub_atom_2(L,S,Len,R,HL,XL,TL),
        atom_chars(H,HL),
        atom_chars(X,XL),
        \+(XL = []),
        atom_chars(T,TL).