Re: [問題] 增加自變量
※ 引述《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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
問題
1
3