[#23332] to_str再考 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2004/04/05

[#23380] [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2004/04/15
[#23400] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。落ちる場所がわかりました。

[#23402] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23403] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — nobu.nakada@... 2004/04/16

なかだです。

[#23405] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23407] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[ruby-dev:23457] Re: Dir#glob proposal

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-04-28 02:05:28 UTC
List: ruby-dev #23457
山本です。

matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
(2004/04/27 22:43)

>|>そりゃそうですけど。スレッド環境でchdirを使った時点で「負け」
>|>ではないかと。

よく考えると、Dir.glob だけ chdir に対して安全でも、他の部分がそうとは限りませんよね・・・
考えが浅かったかもしれません。

>その方が良いとは思います。
>
>  def Dir.glob(pat, basedir=Dir.cwd)
>    ...
>  end
>
>のようにcwdの取得を先頭の一度にした方が使いやすいだろうと思
>いますから。

このように基準ディレクトリを指定できると便利だと思っていたのですが、
よくわからなくなりました。

  Dir.glob(favorite_root + "/**/").sort.each do |dir|
     wwwc_dir = wwwc_root + dir[favorite_root.size...dir.size]
     Dir.mkdir(wwwc_dir)
     open(wwwc_dir + "/item.dat", "w") do |io|
        Dir.glob(dir + "*.url") do |file|
           url = load_url(file)
           item = hash[url]
           if item
              item = item.clone
           else
              item = Item.new(nil)
              item.url = url
           end
           item.title = File.basename(file, ".*")
           io.puts(item)
        end
     end
  end

というコードがあるのですが、

  Dir.glob("**/", favorite_root).sort.each do |dir|

とした場合、dir は favorite_root に対する相対パスになります。
でも、後ろのほうで dir を使ってるので、どのみち絶対パス
(もしくは、Dir.cwd に対する相対パス)に変換せねばならず、
スクリプトを書いていて混乱してきました。

Dir.glob は現状のまま、常に Dir.cwd に対する相対パスのほうが
わかりやすいのかもしれません(言い出しておいてすみません)


In This Thread

Prev Next