[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

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

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44082] Regexp.union([pattern, ...]) に騙されました

From: しん <dezawa@...>
Date: 2007-10-05 11:08:33 UTC
List: ruby-list #44082
出沢@神奈川です

昨年、  [ruby-list:42454] 「 多量の正規表現との効率的なマッチのアイデアを」
といったSubjectで色々教えて頂きました。
その後 File.read.split(/\n).map{ } にはまってます。

そのなかで Regexp.union なるものに興味を持ったのですが、当時の仕事では
使わずじまい。今回それが役に立ちそうな仕事があって使ってみたのですが
騙されました。
Regexp.union([pattern, ...]) とあったので 引き数に pattern とすべき
String の Array を入れたのですが怒られました。
[  ] はArrayではなく 省略可能引き数 だったのだ、、、

マニュアルでは Regexp.union("a", "?", "b") といった例がでていますが
パターンとなるべき文字列をプログラム作成時に用意するのではなく
外部から たとえば file から読みこんで、と言うような場合、
引き数がこういう形しか許されないと使えないのではないでしょうか。

今回は幸い エスケープが必要なかったので
Regexp.new(File.read(ARGV.shift).split(/\n/).join("|"))

としてしまって過ごしましたが、エスケープが必要だとややこしそうです。
こういう場合に Regexp.union を上手に使うにはどうするのがお作法なのでしょうか。

怒られたのは
Regexp.union(File.read(ARGV.shift).split(/\n/))

怒られなかったけど、意図とまったく違ってしまったのが
Regexp.union(File.read(ARGV.shift).split(/\n/).join(","))
    これは 阿呆さ加減に笑ってしまいました。


In This Thread

Prev Next