タグ

言語デザインに関するatsushifxのブックマーク (1)

  • プログラミング言語における正規表現リテラルの必要性について

    Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

    atsushifx
    atsushifx 2013/12/18
    問題は学習コスト、標準化、読みやすさだと思っている。言語やライブラリによって正規表現にゆれがあるし、コメントにも出ているけど正規表現のエスケープと文字列のエスケープが重なるとReadbilityが落ちすぎて悲惨。
  • 1