本物のプログラマはGOTOの使用をためらいませんが、SmallTalkは無制限なGOTOを備えていません。 SmallTalkのGOTOには以下のような制限があります。
SmallTalkGotoExample>>exampleFibonacci "フィボナッチ数を求める" | n fibArray i | n := 50. fibArray := Array new: n. fibArray at: 1 put: 0. fibArray at: 2 put: 1. i := 3. self LABEL: #LoopHead. fibArray at: i put: (fibArray at: i - 1) + (fibArray at: i - 2). i := i + 1. (i <= n) ifTrue: [self GOTO: #LoopHead]. Transcript cr; show: fibArray printString. |
お知らせ >