我正在學習函數式編程,並試圖解決功能風格中的幾個問題。我經歷的一件事是,將我的問題分解爲函數,似乎我有兩個選擇:使用幾個具有相似參數列表的不同函數,或使用嵌套函數,它們作爲閉包,可以簡單地引用父函數中的綁定。嵌套功能:不當使用副作用?
儘管我最終採用第二種方法,因爲它使得函數調用更小,並且它似乎「感覺」更好,從我的閱讀中看,似乎我可能缺少函數式編程的一個要點,這似乎是「副作用」?現在被授予,這些嵌套函數不能修改外部綁定,因爲我使用的語言阻止了這種綁定,但是如果您查看每個單獨的內部函數,則不能說「給定相同的參數,此函數將返回相同的結果」因爲他們確實使用了父範圍的變量......我是對的嗎?
什麼是繼續進行的理想方式?
謝謝!
facHelper實際上並不涉及任何外部值 - 它仍然是純粹的功能。 – 2008-11-22 07:28:33