[#42243] コミュニティと宗教の分離について — Beyond <beyond@...>

14 messages 2006/05/21

[#42267] メニューのループについて — リックス <rubyer4649@...>

りっくすです

21 messages 2006/05/27

[#42301] Re: メニューのループについて — "conundrum /" <conundrum@...>

conundrumです。

11 messages 2006/05/28

[ruby-list:42336] Re: ディレクトリーを再帰下降していくスクリプトでNoMemoryErrorエラー

From: "U.Nakamura" <usa@...>
Date: 2006-05-30 07:06:48 UTC
List: ruby-list #42336
こんにちは、なかむら(う)です。

In message "[ruby-list:42335] ディレクトリーを再帰下降していくスクリプトでNoMemoryErrorエラー"
    on May.30,2006 15:32:50, <IH000667@mb.taiyokogyo.co.jp> wrote:
| dirtree.rb(REGIST~1.RB)の骨格としては以下のようなものです。
| 
| def test(dir)
|   Dir.chdir(dir) do |dir|
|     ...
|     test(dir)
|   end
| end
| 
| ローカルフォルダーにおいて、テストした場合少なくとも
| 24階層下までは問題なく動きました。

ええと、この例では一切階層を辿らないような気がするのですが、
たとえばこんな感じでしょうか?
# 組み込みメソッド test と紛らわしいので名前変えてます

  def tree(dir)
    Dir.chdir(dir) do
      Dir.glob('*').each do |ndir|
        # なんか処理
        tree(ndir) if FileTest.directory?(ndir) && /^\.\.?$/ !~ ndir
      end
    end
  end

で、私の手元で直線的に50階層ほどディレクトリを掘って試した限
りでは、ローカルだろうがネットワーク越しだろうが特に問題はあ
りませんでした。
また、27階層で多数のディレクトリを含む構成を作って試そうとも
してみたのですが、適当な数のディレクトリを作った程度でもやっ
ぱり再現しません。

というわけで、再現のためにもうちょっと情報をいただけますでし
ょうか?
ディレクトリの構成であるとか、実際にどんな処理がその中にある
かとか。


| Q1.エラーメッセージにある「...17 levels」とは何の意味ですか?

そこにあと17行分エラーメッセージが入るんだけど長いから略、と
いうような意味です。


| Q2.タスクマネージャで見る限り1GB程度のメモリーの空きがありますので
|     NoMemoryErrorというのが腑に落ちません。

私もNoMemoryErrorは腑に落ちません。
途中によっぽどメモリを食う処理がない限りは。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread

Prev Next