Re: [問題] 增加自變量

看板Programming作者 (好人超)時間16年前 (2009/07/08 16:41), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《skgic (Ru|Ki)》之銘言: : ANSI-LISP書中提到一個c做不到例子: : "寫一個函數接受數n, 返回一個函數: 它把n增加到它的自變量上去 " : *******程式碼******* : (defun addn (n) : #'(lambda (x) : (+ x n))) : ******************** : C作不到的原因是沒辦法把funtion當作參數傳遞 應該沒理解錯吧? : 但還是看不懂n加到自變量上面的意思是指什麼 : 請問有沒有比較簡單的說明這個題目 : 謝謝<(_ _)> addn 的用途,用類似C的語法來寫的話: FUNCTION addn(n) { return new FUNCTION(x)(x + n); } 它接受一個參數n,回傳的是一個函式, 這個函式有一個參數x,做的事情是 x+n 所以可以類似這麼寫: FUNCTION f = addn(5); /* f(x) = (x + 5); */ a = f(3); /* a 得到 8 */ C做不到的是:它沒辦法在執行期動態生一個函式,並且回傳給你用 但C的參數是可以用函式指標的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.62.12

07/08 17:03, , 1F
原來如此
07/08 17:03, 1F

07/08 17:04, , 2F
執行期產生函式是語言靜態/動態的問題
07/08 17:04, 2F

07/08 17:07, , 3F
謝謝您的說明^^
07/08 17:07, 3F
文章代碼(AID): #1AL5kdwJ (Programming)
文章代碼(AID): #1AL5kdwJ (Programming)