From: WATANABE Tetsuya Date: 1998-12-14T20:13:05+09:00 Subject: [ruby-list:11317] Re: find.rb bug(?) fix 渡辺哲也です。 In message "[ruby-list:11316] find.rb bug(?) fix" on 98/12/14, Sekitani Nobutaka writes: |関谷@電通大です。 | |先日のmyfind.rbとは別に、find.rbにあるちょっとした欠陥の報告をします。 |症状: |ディレクトリを指すシンボリックリンクを見つけた場合、その先もたどろうと |する。リンクの張り方によってはループに陥る場合があり危険。 |パッチはsignatureの下にあります。 私もはじめは同じことを考えたのですが、find.rb で これをやってしまうと、シンボリックリンクを自分で 判断できなくなります。このため、ループ回避は ------------------------------ #! /usr/local/bin/ruby # シンボリックリンクを手繰ってしまういまの仕様を # 手繰らないようにするには。 require 'find' dir = ARGV.shift || '.' Find.find(dir) {|f| if File.directory? f and File.symlink? f Find.prune end print f, "\n" } exit ------------------------------ というような感じで書くことになると思います。 いかがでしょうか? -- WATANABE Tetsuya HP Japan e-mail Tetsuya_WATANABE@hp.com tetsu@jpn.hp.com