[ruby-dev:31771] Re: shellescape

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-09-10 08:29:08 UTC
List: ruby-dev #31771
なかだです。

At Mon, 10 Sep 2007 16:12:58 +0900,
Akinori MUSHA wrote in [ruby-dev:31770]:
> > モジュール関数に関する限り、shellというprefixはなくてもいいんじゃ
> > ないかと思うのですが、Shellwords.escapeやShellwords.join,
> > Shellwords.splitなどではまずいでしょうか。
> 
>  私もそう思いました。しかし、現行のサンプルで include Shellwords
> する用例が載っているため、それを踏襲したコードが名前空間の汚染で
> 動かなくなる可能性があります。(特に split)
> 
>  included() を定義して長い名前の方だけ落とすという手段はあるかも
> しれませんが…。

インスタンスメソッドは長いものだけでいいと思います。特異メソッド
の方だけaliasすればいいのでは。

  module Shellwords
    module_function :shellwords, :shellsplit, :shellescape, :shelljoin

    class << self
      alias split shellsplit
      alias escape shellescape
      alias join shelljoin
    end
  end

さすがにwordsは単独では意味不明なのでいらないと思います。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread