いろんな言語で宿題 第五編at TECH
いろんな言語で宿題 第五編 - 暇つぶし2ch76:デフォルトの名無しさん
10/06/25 08:41:00
>>74
% Prolog

'拡張子が .rb の全てのファイルに対して、#!/usr/bin/env ruby を #!/usr/local/bin/ruby に置換する。ついでに、「ruby」という文字を「perl」に置き換える' :-
    shs('ls -N *.cs',Files),
    append(_,[File|R],Files),
    get_lines(File,Lines),
    指定された内容に文字列を置換する(Lines,Lines2),
    put_lines(File,Lines2),
    R = [].

指定された内容に文字列を置換する([],[]) :- !.
指定された内容に文字列を置換する([Line|R1],[Line2|R2]) :-
    sub_atom(Line,_,_,_,A1,'#!/usr/bin/env ruby',A3,L1,L2,L3),
    concat_atom([A1,'#!/usr/local/bin/ruby',A3],Line1),
    rubyをperlに置換する(Line1,Line2),
    指定された内容に文字列を置換する(R1,R2),!.
指定された内容に文字列を置換する([Line|R1],[Line2|R2]) :-
    rubyをperlに置換する(Line,Line2),
    指定された内容に文字列を置換する(R1,R2).

rubyをperlに置換する(Line,Line2) :-
    replace_all(Line,ruby,perl,Line2).

% replace_all/3は URLリンク(nojiriko.asia) 参照



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch