2

whileTrue戻る必要のない GNU Smalltalkのループから抜け出す簡単で簡潔な方法は何ですか?

これが私のコードです。char_stackが空の場合は、最後の 31 行目でループから抜けたいと考えています。

https://gist.github.com/SYZYGY-DEV333/ea3f5eeb3473927c8faa294bb72a8858

どんな助けでも大歓迎です。

4

2 に答える 2

5

一般に、Smalltalk には、囲んでいるメソッドから戻る以外に、ループから抜け出す方法がありません。

ループから抜け出すために戻ることができる別のメソッドにループを抽出してみてください。

ある意味で、言語である Smalltalk にはループさえありません... しかし、いくつかのメソッドはたまたまブロックを複数回評価します。したがって、「ループ」を終了する特別な方法はありません。帰り道です。

まだ行っていない場合は、Collection のさまざまな反復方法についてよく理解しておいてください: do:select:collect:detect:ifNone:...あなたは「休憩」を望むかもしれません。

于 2018-10-07T08:56:22.240 に答える