[#15357] Regexp literal and Regexp.new() — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

14 messages 2001/12/05
[#15358] Regexp in UTF-8 (Re: Regexp literal and Regexp.new()) — TAKAHASHI Masayoshi <maki@...> 2001/12/05

高橋征義です。むーん、問題のありかが違ったかも。

[#15435] Time#utcoff — Tanaka Akira <akr@...17n.org>

In article <hvosnahj702.fsf@coulee.a02.aist.go.jp>,

20 messages 2001/12/13
[#15436] Re: Time#utcoff — matz@... (Yukihiro Matsumoto) 2001/12/14

まつもと ゆきひろです

[#15505] ERb — m_seki@...

74 messages 2001/12/20
[#15560] Re: ERb — Tanaka Akira <akr@...17n.org> 2001/12/27

In article <20011220114249J.seki@mr.nasu.toshiba.co.jp>,

[#15879] Re: ERb — m_seki@... 2002/02/12

[#15884] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/14

In article <m3eljr5o9m.wl@edwin.mva.biglobe.ne.jp>,

[#15885] Re: ERb — m_seki@... 2002/02/14

[#15886] Re: ERb — m_seki@... 2002/02/14

[#15887] Re: ERb — TAKAHASHI Masayoshi <maki@...> 2002/02/14

高橋征義です。

[#15888] Re: ERb — m_seki@... 2002/02/14

[#15896] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/15

In article <20020215085405G.seki@mr.nasu.toshiba.co.jp>,

[#15898] Re: ERb — m_seki@... 2002/02/15

[#15900] Re: ERb — TADA Tadashi <sho@...> 2002/02/16

ただただしです。

[#15901] Re: ERb — m_seki@... 2002/02/16

[#15906] Re: ERb — matz@... (Yukihiro Matsumoto) 2002/02/17

まつもと ゆきひろです

[#15909] 1.6 の寿命 (Re: Re: ERb) — Koji Arai <JCA02266@...> 2002/02/17

新井です。

[#15507] fileutils (2) — Minero Aoki <aamine@...>

あおきです。

30 messages 2001/12/20
[#15512] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/20

高橋征義です。

[#15513] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15515] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/21

高橋征義です。結論は最後に。

[#15516] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15533] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/22

高橋征義です。

[#15536] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15540] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/24

高橋征義です。

[#15545] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15557] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/26

高橋征義です。

[#15567] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/27

あおきです。

[#15573] [patch] resolv.rb for win32 platform — Tietew <tietew-ml-ruby-dev@...>

Tietew です。

22 messages 2001/12/28

[ruby-dev:15516] Re: fileutils (2)

From: Minero Aoki <aamine@...>
Date: 2001-12-21 05:24:49 UTC
List: ruby-dev #15516
あおきです。

  In mail "[ruby-dev:15515] Re: fileutils (2)"
    TAKAHASHI Masayoshi <maki@inac.co.jp> wrote:

> 高橋征義です。結論は最後に。

> いやいや、amstd/fileutils.rbとの互換性です(ftools.rbもかな?)。

あ、そっちでしたか。amstd のともだいたい互換のはずです。
というかいま fileutils 自身をパックするのにも使ってますし。


> > ついでに ftools と上位互換でも
> > あるはずです (File に extend するとそのまま通用する)。
> 
> む、しかし引数が違いますよね(verboseとか)。って、そういう意味ではなく?

いえ、マニュアルに書いてないだけで、実は最後の verbose 引数は
実装されています。後述するように、true/false でのフラグ渡しは
捨てたいので。


> > でも、メソッド名から言っても cp なら cp(1) のように働いてほしいと
> > 思うのではないでしょうか? (本当は話が逆だけど) この場合に限っては
> > Ruby 的であるよりもシェル的であるほうがよいのではないかと思うのです。
> 
> うーん、そうでしょうか。
> 例えば、Dir::mkdirでも、
>   mkdir(path [,mode])
> となっています。ftoolsのcpやmvでもverboseオプションは後ろですし。

それは、mkdir(2) があるからでは? cp(2) はないです。
また ftools の verbose は、verbose しかないゆえに迷わず
最後に置けるわけです。noop とかいっぱいついたらどの位置が
どのフラグだったかわからなくなるでしょう。


> そうですね、前か後ろだったら、(上のDir::mkdirのように)後ろの方が
> 好きです。さらに、引数の位置が決まっていれば安心です。
> # キーワード引数があればまた違うんでしょうけどね……。

キーワード引数と言えば以前は

    cp a, b, :verbose => true

というのを提案して却下されたような記憶があります。


>    cp(rb + rb2,  mkdir_p(site_ruby + '/tmail'))
> とか
>    (rb+rb2).each{|file| cp(file, mkdir_p(site_ruby + '/tmail'))}
> じゃ駄目なんでしょうか?

verbose オプションがなければそれでいいかも、と思います。でも
verbose がついてるってことは外界にやってることを伝えたいとい
うことでしょう。それだったら、やっていることをできるだけまと
まりとして伝達するべきです。やりたいのはそれぞれのファイルの
cp というよりは、なんらかの意味をもつ集合として複数ファイルを
コピーするということでしょう。だから、少なくとも each でバラす
のは納得できません。flatten については、まあそのとおりかと思
います。


> > そういうことなら
> > 
> >     include FileUtils::Verbose

> クラス(クラスメソッド)の振舞いを変えるのにincludeを使うのは
> 面白そうだし便利そうなのですが、「凝りすぎ?」という不安も
> 若干あるのでした。

あ、それはきっと誤解されてます。include したら変わるのではなく

  FileUtils::Verbose.cp a, b

や

  include FileUtils::Verbose
  cp a, b

あるいは

  class F
    include FileUtils::Verbose
  end
  F.new.cp a, b

とできるという話です。つまり FileUtils の代用になります。


> オプションはtrue/falseか、あるいは可変長でしょうか。前者なら、
> 
>   def cp(from, to, verbose=false, noop=false)
> 
> という感じ、後者なら、
> 
>   def cp(from, to, *option) # optionは :verbose とかで指定
> 
> みたいな感じとか。後者の方が使いやすい?

たぶん、手で書くには :verbose 方式のほうがいいんですよね。でもスク
リプトから FileUtils 自身の振舞いを操作するには :verbose => true
や f.verbose = true とやれるほうが楽でしょう。引数の並びで決定する
のは、たとえば高橋さんの例だと noop を変えるために全然関係ない
verbose も指定しなければいけないのが不満です。

んで、FileUtils::Operator が f.verbose=true 方式、FileUtils が
:verbose 方式の実装になっているので、ちょうどいい感じかと思います。


あとは FileUtils のメソッドのオプションの位置か。
-------------------------------------------------------------------
青木峰郎

In This Thread