我必须使用 Smalltalk 来返回第 n个斐波那契数,我以前没有使用过这种语言。该程序对任何输入都返回 1,我不知道为什么。它甚至没有迭代我认为的 for 循环。有人可以帮助我吗?谢谢。
'Which fibonacci number do you want? (n>2)' printNl.
n := stdin nextLine asInteger.
(n <= 2)
ifTrue: ['Type a larger number, F(1) and F(2) equals 1!' displayNl.]
ifFalse: [
result:= 1.
parent := 1.
gparent := 1.
2 to: n do: [ :i | [
result := (parent + gparent).
gparent := parent.
parent := result.
'come on, do something' displayNl.
]
].
result displayNl.
].