【問題】コメントアウト
プログラミング言語になくてはならないのがコメント。
たとえばjsの場合はこんな感じ。
/* * ホゲー */ function hoge() { // 処理の内容 }
これってどうやって実装してるんですかね? 実装してみましょう。
問
スラッシュではなくパイプ(|)を使った独自のコメントアウト機能を実装せよ。
<!DOCTYPE html> <script> /** * パイプコメントをフィルタする * ||がある場合は、それ以降、行末までを削除する * |* *|がある場合はこの内側を削除する * * @param text {string} 元になるテキスト * @return {string} コメントがフィルタされたテキスト */ function filterComment(text) { //TODO: 実装する } const text = ` パイプパイプはそれ以降をコメントアウト || コメントアウト パイプアスタは囲まれた部分をコメントアウト |* 複数行に 跨ってコメント することができる *| もちろん文の途中に|* こんな感じで *|挿入することもできるよ パイプアスタの中でのパイプパイプ|* ||ほげー *|は無効だよ パイプパイプの中でのスラアスタも無効だよ || |* *| ←これは表示されてOK `.trim(); const result = filterComment(text); /* パイプパイプはそれ以降をコメントアウト パイプアスタは囲まれた部分をコメントアウト もちろん文の途中に挿入することもできるよ パイプアスタの中でのパイプパイプは無効だよ パイプパイプの中でのスラアスタも無効だよ *| ←これは表示されてOK */ </script>