if 0 { }
HSPでちょこっとしたプログラムを書くときに、グローバルで命令・関数を定義したいことが時々ある。
わざわざモジュール空間を作らなくても良い場合や、テストで適当な処理を関数化したい時、グローバルの変数を参照したい時という場合が多い。
そのときに、以前はラベルを作って関数定義部分をスキップしていた。このやり方は昔どこかで見て覚えた方法である。
goto *skip
# deffunc func
...
return
*skip
最近は、if 0 { } で囲むことにしている。
if 0 {
# deffunc func
...
return
}
労力的にはどちらもあまり変わらないが、ラベル使わないので(個人的には)何となく気分が良い。ラベルはスパゲティーコードになりがちなので、あまり使いたくないというか、使用を最低限にすることをマイルールとしている。一応そのルールに沿うというか、そんなことを気にするならスコープが見える言語を使えという話かもしれない。