岩月と申します。

On 2005/10/12, at 22:03, osamu ohshima wrote:
> この場合、2行目のマッチングするパターン"/usb  
> 2-1.3/"をプログラムの中に直
> 接書くのではなくて、includeする別のファイル中で定義する 
> 定数として与える
> 方が、状況が変ってもコードを直接いじらずに済むのでありがたいの 
> ですが、
> そんな方法はあるでしょうか。

正規表現リテラル(/usb 2-1.3/)には文字列(変数) 
を埋め込めます。

pat = "usb 2-1.3"
str.grep(/#{pat}/)     # str.grep(/usb 2-1.3/) と同じ意味

あとは他のファイルから文字列を読み込むことで、正規表現をスクリプ 
トの外から指定可能となります。以下はその一例です。

# テキストファイルの1行目にusb 2-1.3と書いておく
pat = File.readlines("pat.txt")[0].chomp
str.grep(/#{pat}/)     # str.grep(/usb 2-1.3/) と同じ意味

多分このような感じでいけると思います。いかがでしょうか。

-- 
岩月博之 <URL:mailto:don / na.rim.or.jp>