大多數教程/文章/書籍在介紹函數式編程時討論副作用。藉此Python代碼:函數式編程:副作用
def isPrime(n):
k = 2
while k < n:
if n % k == 0:
return False
k += 1
return True
的文字說,上面的函數有局部副作用,我不明白這一點。我看到變量「k」正在改變,我不明白它有什麼不好。
有人可以給一個明顯的壞副作用的例子,以及如何通過函數式編程避免它嗎?
W.r.t.請注意FP與程序編程[與IP與DP正交](http://stackoverflow.com/questions/602444/what-is-functional-claclarative-and-imperative-programming/8357604#8357604 )。 – 2011-12-08 01:16:19