前田です。

In message "[ruby-list:6442] Re: rgrep (Re: call for scripts)"
Shugo Maeda <shugo / po.aianet.ne.jp> wrote:

|typeを使っているので1.1でないと動きませんが、1.0でも動かないと
|まずいでしょうか。

すみません、修行不足でした、typeを使う必要は全然ありませんでした。
正規表現ってえらいですね。
# 「えらい」といっても「疲れた」という意味ではないです:-)

というわけで1.0でも動くようにしました。

-- 
前田 修吾

--- rgrep.rb.orig Mon Feb 16 20:18:22 1998 +++ rgrep.rb Mon Feb 16 20:44:39 1998 @@ -6,19 +6,15 @@ $filename = nil $exit_status = 1 -ERROR_MSG_TABLE = { - Errno::ENOENT => "No such file or directory", - Errno::EACCES => "Permission denied" -} +FILE_ERROR_MSG = /^(No such file or directory|Permission denied) - (.*)$/ def handle_file begin yield rescue Errno::ENOENT, Errno::EACCES unless $OPT_s - errmsg = ERROR_MSG_TABLE[$!.type] - $!.scan(/#{errmsg} - (.*)$/) do |filename| - $stderr.puts("rgrep: #{filename}: #{errmsg}") + $!.scan(FILE_ERROR_MSG) do |msg, file| + $stderr.printf("rgrep: #{file}: #{msg}\n") end end end @@ -45,7 +41,7 @@ end def print_usage - $stderr.puts("usage: rgrep [-[hinqs]] <expr> [<files...>]") + $stderr.printf("usage: rgrep [-[hinqs]] <expr> [<files...>]\n") end def grep(file) @@ -66,7 +62,7 @@ end unless getopts("hinqs") - $stderr.puts("rgrep: illegal option") + $stderr.printf("rgrep: illegal option\n") print_usage exit(2) end