HyperTalkスクリプトで行える再帰回数の限界

HyperTalkで再帰呼び出しを使うことがあります。たとえば、迷路を解くのに使ったり、repeatを使わずに繰り返し処理を行うのに使えます。

測定スタック

再帰の限界回数を測るスタックです。

▼再帰リミットスタックのダウンロード

測定結果

●HC2.4.1Player
75回@Performa6210
91回@iBook/366,iMac
92回@G3/233,G3,G4

●HC2.3
86回@G3/233
94回@G4

●HC2.3Player
77回@Performa6210
86回@68KMac
94回@G3/233

●HC2.2
76回@
85回@iBook/366
86回@G3/233,G3,G4,iMac,Performa6210,68KMac

●HC2.1
101回@Performa6210,68KMac

結論

再帰の限界は機種やHyperCardのバージョンによって異なりますが、法則は特にないようです。ともかく最低が75回なので、再帰の回数はそれ以下に抑えましょう。再帰を行うと、フリーズやエラーが起こりやすくなる機種もあるので、再帰を使うよりも、repeatで繰り返し処理を使ったほうが良いようです。

実験に協力してくれた皆様に感謝。

▲研究室の入り口へ