From: matz@... (Yukihiro Matsumoto) Date: 2003-07-20T01:42:32+09:00 Subject: [ruby-list:37893] Re: subのパターンと後方参照 まつもと ゆきひろです In message "[ruby-list:37892] subのパターンと後方参照" on 03/07/20, Shigeaki Kinoshita writes: |edate = jdate.sub(/([日月火水木金土])/, WDay[$1]) |p edate | |とすると、 | |in `sub': failed to convert nil into String (TypeError) | |とエラーになってしまいます。 |sub() のパターンに書いた正規表現の後方参照ってできないのでしょうか? $1などが評価されるのは引数ですからsubを実行する前です。です から、subの実行によって決まる$1はまだ反映されていません。置 換対象が文字列リテラルであれば '\1' などで参照できますが、そ うでない場合にはブロックを使ってください。 まつもと ゆきひろ /:|)