return文は関数に一つだけ

こことかこことか。

途中で節操なく return しているところ。
うろ覚えだけども、「return文は関数に一つだけ」ってどこの原則だったか。

構造化プログラミングだったか。 COBOLとかだと、RETURN 文がないので、 サブルーチン(PERFORM)先から途中分岐で抜けるのに、GOTO文使うしかないっぽいのだが、構造化プログラミングの教えで「GOTO使用禁止」=>「途中での関数終了止めよう」ってことになったのか。

まぁ個人的には途中で return してしまう派なんですけどね。 ただ、「return文は関数に一つだけ」のソースコードも割とよく見かけるなぁ。

ちなみに GOTOで思い出したのだけども、ActionScriptのフレーム内スクリプトで、

if( flgHoge ){ this.gotoAndPlay("Scene1"); } this.gotoAndPlay("Scene2");

とかでその昔ハマったこと思い出した。 flgHogeがTRUEでも、this.gotoAndPlay("Scene2"); は実行されるのだよね。 GOTO文的動作だと勝手に思ったら実際には違うようだ、という話。