(2004-09-28 追記) これはRubyの正規表現に限った話です。
正規表現で「文字列の先頭」のつもりで「^」を使うのは間違いです。 バグです。誤りです。「^」は行頭であって文字列先頭ではありません。 いますぐ「\A」に直してください。
% ruby -e 'p /^a/ === "b\na\n"' true % ruby -e 'p /\Aa/ === "b\na\n"' false
「$」も同様です。 文字列末尾を表すのは「\z」です。 「\Z」でもありません。
% ruby -e 'p /a$/s === "b\na\n"' true % ruby -e 'p /a\Z/s === "b\na\n"' true % ruby -e 'p /a\z/s === "b\na\n"' false
「リファラ」を「リファ」って略しても一文字しか減ってないじゃん。
"Haskell: The Craft of Functional Programming" second edition, Simon Thompson, Addison-Wesley 1999
また買っちゃった……。
このまえ買った "Introduction to Functional Programming using Haskell" も内容は悪くないんですが、結局 Introduction to FUNCTIONAL PROGRAMMING であり Introduction to Haskell でないということを悟りました。 「/=」を「≠」と書いたりしてくれるのがそこはかとなくウザいし。
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.