if 0 { }

HSPでちょこっとしたプログラムを書くときに、グローバルで命令・関数を定義したいことが時々ある。

わざわざモジュール空間を作らなくても良い場合や、テストで適当な処理を関数化したい時、グローバルの変数を参照したい時という場合が多い。
そのときに、以前はラベルを作って関数定義部分をスキップしていた。このやり方は昔どこかで見て覚えた方法である。

goto *skip
# deffunc func
    ...
    return
*skip

最近は、if 0 { } で囲むことにしている。

if 0 {
# deffunc func
    ...
    return
}

労力的にはどちらもあまり変わらないが、ラベル使わないので(個人的には)何となく気分が良い。ラベルはスパゲティーコードになりがちなので、あまり使いたくないというか、使用を最低限にすることをマイルールとしている。一応そのルールに沿うというか、そんなことを気にするならスコープが見える言語を使えという話かもしれない。

いいなと思ったら応援しよう!