[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29259] Re: Time Stamp Copy of File.copy

From: " たけ (tk)" <ggb03124@...>
Date: 2001-04-14 16:25:56 UTC
List: ruby-list #29259
たけ(tk)です。

Minero Aoki さん曰く。
》それだと ftools とも、ぼくがいま使ってるのとも互換性がなくなります。
》(ちなみに配列を使う書き方もできます。以下のように)
》
》   FileUtils.cp file1, file2, %w( file3 file4 ), dir
》
》ftools は ftools で残してこっちは別物で行くんだあ、とするなら
》たしかにルールが単純でいいですね。少なくとも書くほうにとっては
》場合わけが少なくて楽です  ^^;;

 ちょっと実装を見させてもらいました。フラットにしているので、オプション
を配列から取り出すだけで実現できそうですね。オプションの場所はどこでも良
くなる。

#  amstd-1_9_7_tar\amstd-1.9.7\lib\amstd\futils.rb 01-02-14 6:37

》  def cp( *args )
》    args.flatten!
      recursive = args.delete(:recursive)
      preserve = args.delete(:preserve)
》    to = args.pop
》    futilsmsg "cp #{args.join ' '} #{to}" if @verbose
》    to = File.expand_path( to )
》    args.each do |i|
》      FU.cp File.expand_path(i), to
        if preserve
           ...
        end
        if recursive
           ...
        end
》    end
》  end

 --

 ハッシュ型引数の使い方が分からないのですが、

      recursive = args.delete_hash(:recursive)

で :recursive=>true の引数の値(true)が recursive に取り出せるようだと簡
単に使えますね。

  --

  それと、お願いなのですが、 [ruby-list:26793]でも書いたのですが、
File.join でルートディレクトリからの指定をしようとすると失敗してしまいま
す。次のような、失敗しないメソッドを用意していただけないでしょうか?。

p File.join('/','test')		#	"//test"
p File.join('a:/','test')	#	"a://test"

def File.join_ex( *args )
  File.join( *args ).gsub( "//" , "/" )
end

たけ(tk) ggb03124@nifty.ne.jp
http://member.nifty.ne.jp/take_tk

In This Thread