[#30920] [REQ] Regexp#match! — Minero Aoki <aamine@...>

あおきです。

19 messages 2001/08/16

[#30945] file exist check method? — "Inoue" <inoue@...>

井上です。

98 messages 2001/08/17
[#30947] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30949] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30950] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30951] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30953] Re: file exist check method? — nobu.nakada@... 2001/08/17

なかだです。

[#30954] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30955] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/17

こんにちは、なかむら(う)です。

[#30956] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/17

新井です。

[#30958] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/18

こんにちは、なかむら(う)です。

[#30962] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30963] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/18

こんにちは、なかむら(う)です。

[#30965] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30969] Re: file exist check method? — nobu.nakada@... 2001/08/18

なかだです。

[#30970] Re: file exist check method? — Koji Arai <JCA02266@...> 2001/08/18

新井です。

[#30981] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/18

もりきゅうです。長文ごめんなさい。

[#30983] Re: file exist check method? — IWATSUKI Hiroyuki <don@...> 2001/08/18

岩月と申します。そろそろ寝なくては。

[#30988] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/19

もりきゅうです。

[#30989] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/19

もりきゅうです。

[#30997] Re: file exist check method? — nobu.nakada@... 2001/08/19

なかだです。

[#31020] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/20

もりきゅうです。

[#31022] Re: file exist check method? — maili31s@... (SugHimsi == SUGIHARA Hiroshi) 2001/08/20

すぎむし。

[#31024] Re: file exist check method? — nobu.nakada@... 2001/08/20

なかだです。

[#31025] File#join — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/20

もりきゅうです。subject 変えました。

[#31029] Re: File#join — Kazuhiro NISHIYAMA <zn@...> 2001/08/21

In <200108201823.AA00825@yoshida.nifty.ne.jp>

[#31079] Re: File#join — "K.Umakoshi" <pegacorn@...> 2001/08/22

File#join とか File#split とか使った事ないんですが…

[#31062] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/21

こんにちは、なかむら(う)です。

[#31065] Re: file exist check method? — nobu.nakada@... 2001/08/22

なかだです。

[#31067] Re: file exist check method? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/08/22

もりきゅうです。

[#31068] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/22

こんにちは、なかむら(う)です。

[#31073] Re: file exist check method? — nobu.nakada@... 2001/08/22

なかだです。

[#31082] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/22

こんにちは、なかむら(う)です。

[#31087] Re: file exist check method? — nobu.nakada@... 2001/08/23

なかだです。

[#31094] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/23

こんにちは、なかむら(う)です。

[#31096] Re: file exist check method? — "U.Nakamura" <usa@...> 2001/08/23

こんにちは、なかむら(う)です。

[#31005] インストールしました — 嶋崎 正貴 <hayashih@...>

嶋崎と申します

15 messages 2001/08/20

[#31144] create_process または Win での外部コマンド実行 — Take_tk <ggb03124@...>

Windows で外部コマンドを実行するにはどういう方法があるのでしょうか?。

33 messages 2001/08/29
[#31145] Re: create_process または Win での外部コマンド実行 — "U.Nakamura" <usa@...> 2001/08/29

こんにちは、なかむら(う)です。

[#31152] Re: create_process または Win での外部コマンド実行 — nobu.nakada@... 2001/08/29

なかだです。

[#31153] Re: create_process または Win での外部コマンド実行 — Take_tk <ggb03124@...> 2001/08/29

たけ(tk)です。

[ruby-list:31079] Re: File#join

From: "K.Umakoshi" <pegacorn@...>
Date: 2001-08-22 14:21:23 UTC
List: ruby-list #31079
File#join とか File#split とか使った事ないんですが…
ファイル名を扱うクラスがあればいいなと思って、
ruby の勉強を兼ねてこんなクラスを作ってます。

他の人達と方向が多少(?)ずれてるような気がしますが、
こんな考え方もあるということで…。(^^;

# まだ作りかけなのでバグがあったり機能が不足してたりします。


----
馬越

Attachments (2)

FileName.rb (1.84 KB, text/x-ruby)
class FileName < String
  PF_UNIX = 0
  PF_WINDOWS = 1
  PF_DOS = 2

  case RUBY_PLATFORM
  when /cygwin|mswin32|mingw/
    PLATFORM = PF_WINDOWS
    Separator = '\\'
    Separators = '\\/'
  when /djgpp/
    PLATFORM = PF_DOS
    Separator = '\\'
    Separators = Separator
  else
    PLATFORM = PF_UNIX
    Separator = '/'
    Separators = Separator
  end
  PSeparator = Regexp.new(Regexp.quote(Separator))
  PSeparators = Regexp.new(Regexp.quote(Separators))

  if defined?(casecmp)
    alias icasecmp casecmp
  else
    def icasecmp(name)
      upcase.casecmp(name.upcase)
    end
  end
  alias casecmp <=>

  def <=>(name)
    case PLATFORM
    when PF_WINDOWS || PF_DOS
      icasecmp(name)
    else # unix
      casecmp(name)
    end
  end

  def clean
    clean(self)
  end

  def FileName.clean(path)
    case PLATFORM
    when PF_WINDOWS || PF_DOS
      case path
      when /^[#{Separators}]{2}/o
        is_unc = true if PLATFORM == PF_WINDOWS
      when /^([a-zA-Z]:)(.*)/
        is_drv = true
        drv = $1
        path = $2
      end
      paths = path.gsub(/[#{Separators}]+/o, Separator).split(PSeparator)
    else # unix
      paths = path.gsub(/#{Separator}{2,}/o, Separator).split(PSeparator)
    end

    clean_paths = Array.new
    paths.each do |elm|
      case elm
      when '.'
        # abandon
      when '..'
        if clean_paths.size == 0 || clean_paths[-1] == '..'
          clean_paths.push(elm)
        elsif clean_paths.size == 1 && clean_paths[0] == ''
          # abandon
        else
          clean_paths.pop 
        end
      else
        clean_paths.push(elm)
      end
    end

    if clean_paths[0] == ''
      if is_drv
        head = drv
      elsif is_unc
        head = Separator
      else
        head = ''
      end
    elsif is_drv
      head = drv
    else
      head = ''
    end
    head + clean_paths.join(Separator)
  end

end
TestFileName.rb (2.73 KB, application/x-sh)

In This Thread