我想通過使用循環繪製一串符號。我這樣做的方式,但它總是吸引x
圈...smalltalk中的循環內條件
1 to: x do: [
(self lastWasSquare)
ifTrue: [ self drawCircle]
ifFalse: [ self drawSquare]
]
我也試過:
x timesRepeat: [
(self lastWasSquare)
ifTrue: [ self drawCircle]
ifFalse: [ self drawSquare]
].
但還是畫圓。我也嘗試通過在循環中添加一個:n |
變量並詢問是否偶數,但是它總是執行循環代碼。 我在做什麼錯? 謝謝
代碼對我來說似乎很好,當你不需要索引時'x timesRepeat:'更好。你能給我們其他三種方法的代碼嗎?您也可以嘗試將「自停止」作爲循環的第一條語句或條件塊內部的語句。這將作爲一個斷點,所以你可以檢查'last lastWasSquare'的結果是什麼,爲什麼它是這樣的等等 – Uko
'self drawCircle'和'self drawSquare'執行一些副作用會導致'self lastWasSquare'給出不同的結果?不知道這些選擇器的代碼是做什麼的,不可能告訴你爲什麼你的代碼沒有按預期運行。 – lurker