我有一個方法來計算指數,但它不喜歡c:= c * a。如果我做類似c:= a的事情。它的工作原理和我不確定爲什麼它的行爲,當我嘗試和做c:= c * a .. Im新到Smalltalk,所以也許它只是我失蹤的東西。我使用Pharo作爲我的工具。問題for循環在smalltalk
testPow: i1 exp: i2
"Testing exponent. i1 and i2 are integers, we calculate and then return the value as a Church numeral"
| a b c |
a := i1.
b := i2.
1 to: b do: [ :i |
c:= c*a.
].
^c.
由於c未初始化,編譯器不會「喜歡」c:= c * a'。在不知道c的值的情況下,您無法計算* c次a *。 – 2012-03-22 03:58:06
感謝它的工作!發佈它作爲答案,所以我可以接受它。 – jfisk 2012-03-22 04:01:33
也注意到你不需要額外的局部變量a和b,你可以只使用參數i1和i2 – 2012-03-22 13:04:51