ゲームや日記を公開中。 --- a blog about games, life. my handle is 'd_of_i'.
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
今回のバージョンアップはほとんどがバグフィックスです。

しかもかなり致命的なバグがあったり…。

その原因↓

a.gsub!(/#{var}.*?a/,"")

このようなスクリプトを実行すると、unmatched例外が時々でる。
理由はvarに正規表現の特別な意味をもつ文字がある場合があるからだ。


解決方法

a.gsub!(/#{Regexp.quote(var)}.*?a/,"")

うわー、すごい恥ずかしい。
//の中で式展開すると勝手にエスケープされる、とか思ってた。


んー、それにしてもRubyで書いたソースが汚い。

それに今見ると非効率的な部分が多い。
書き始めた時はRubyも正規表現もほとんど初めてだったしなぁ。

/a.*b/m
とmを付けると.は改行にもマッチする、とかおととい初めて知ったしなぁ。
それまで改行全部 a.gsub!(/\r|\n/,"") で取ってた。

こっちも全部書き直すかな…。
スポンサーサイト
コメント
コメントを投稿する
URL:
Comment:
Pass:
:
 
Trackback
この記事のトラックバックURL
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。