蠢货别忘(一)common lisp funcall
自定義 cons,car,cdr
?
Scheme 示例:
(define (my_cons x y)
? (lambda (z) (z x y)))
(define (my_car m)
? (m (lambda (p q) p)))
(define (my_cdr m)
? (m (lambda (p q) p)))
?
Common Lisp:
(defun my_cons (x y)
? (lambda (z) (funcall z x y)))
(defun my_ca_dr (m flag)
? (funcall m (lambda (p q)
? ? ? ? ? ? ? ? ? ? ?(cond ((= flag 0) p)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?((= flag 1) q)))))
(defun my_car (m)?(my_ca_dr m 0))
(defun my_cdr (m)?(my_ca_dr m 1))
?
提示:
Common Lisp使用函數(shù)作為變量后,調(diào)用該變量時(shí)需要使用 funcall,(funcall 函數(shù)名 參數(shù)列表)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/qq1144054302/p/10633504.html
總結(jié)
以上是生活随笔為你收集整理的蠢货别忘(一)common lisp funcall的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习基础(四)优化函数(梯度下降函数
- 下一篇: 在mybatis中调oracle dbl