まだ引っ張んのかよ、と言われそうですが、まァ個人的なプログラム的なメモ。

■onkeyとgetkey
…そもそもの根本的な設計として、onkey命令を使ったのがマズかったんよな。
どのキーが押された場合でも指定されたラベルにジャンプするっつー機能が、
今回の問題点の全ての元凶なワケで。
横着せんで、ちゃんとgetkeyを使っときゃ良かったんだよなァ。( ̄▽ ̄;)
どうせメイン(操作待ち待機)ルーチンは基本的に一つしかねーんだし…。

■結論
onkey命令はすンごく便利だが、全体の設計を考えた上で使わないと、
予期せぬタイミングでの不測のジャンプを発生させる危険が高い。
コード的には微妙な事になるが、原則としてgetkeyを使った方が安全。
ジャンプ先にonkey 0(無効化)を入れときゃ大丈夫かもしれんが、
それはそれでまたonkey 1(有効化)を随所に入れたりせにゃならんので、
かえって微妙な事になりかねん。

■身も蓋も無いお話
…ぶっちゃけた話、そもそもジャンプ(gotoとか)自体が、
現代プログラミングにおいては最早ご法度なんじゃねーのかっつー気もするが、
今後も使用を自重するつもりは全くありませぬ。すぱげっちー万歳。( ̄▽ ̄)b
…いやァ、だってやっぱり便利なんだよなァ…。( ̄▽ ̄;)

■Perlにもgotoは存在すると言う驚愕の事実、だが別に知らなくても良いと言う現実
とか言いつつ、Perlで何か組む時はgotoなんざ使ったこたぁ~無かったりするが…。
Perl(っつーかCGI)の場合は、一度スクリプトが走ったらそのまま「出力」まで一直線で、
スクリプトの途中で待機するような事が無ェからなァ…。
CUIで何かを作るような時は、いわゆる「入力」は<STDIN>で事足りるしねぃ。
HSPでもstop、input、buttonやらを使ってけば同じ事は出来るが…。
まァそうは言っても、そもそも用途が違うしな。
2015/02/05(木) PERMALINK