一致表达

    技术2022-05-19  24

    (defun  mycons  (  x  y)(lambda  (p  )  (funcall p  x   y ) ))

    (defun  mycar  (z)(funcall  z  (lambda ( a b)  a) ))

    (defun  mycdr  (z)(funcall  z  (lambda  (a  b  )  b) ))

    (mycar  (mycons  4 5) )(mycdr  (mycons  4 5) )$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4(defun  mycons2  (  x  y)(lambda  (p  )  (funcall p  x  (lambda () y ) ) ))

    (defun  mycar2  (z)(funcall  z  (lambda ( a b)  a) ))

    (defun  mycdr2  (z)(funcall  z  (lambda  (a  b  ) (funcall b )) ))

    (mycar2  (mycons2  4 5) )(mycdr2  (mycons2  4 5) )

    (defun  int  (n)(mycons2  n   (int  (+ n  1) )))

    (setq  chen (int  1)  )(mycar2  chen)(mycdr2  chen)

    'can't  success$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$语法转换lambda()是自动加的(defun  mycons3  (  x  y)(lambda  (p  )  (funcall p  x   y  ) ))

    (defun  mycar3  (z)(funcall  z  (lambda ( a b)  a) ))

    (defun  mycdr3  (z)(funcall  z  (lambda  (a  b  ) (funcall b )) ))

    (print (mycar3  (mycons3  4 (lambda () 5 )) ))(print (mycdr3  (mycons3  4 (lambda () 5 )) ))

    (defun  int  (n)(mycons3  n  (lambda () (int  (+ n  1) ))))

    (setq  chen (int  10)  )(print (mycar3  chen) )(print (mycar3 (mycdr3  chen)))(print (mycar3 (mycdr3 (mycdr3  chen))))

    it  works

    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$语法转换quote是自动加的(defun  mycons4  (  x  y)(lambda  (p  )  (funcall p  x   y  ) ))

    (defun  mycar4  (z)(funcall  z  (lambda ( a b)  a) ))

    (defun  mycdr4  (z)(funcall  z  (lambda  (a  b  ) (funcall b )) ))

    (mycar4  (mycons4  4 (quote 5 )) )(mycdr4  (mycons4  4 (quote 5 )) )

    (defun  int  (n)(mycons4  n  (quote (int  (+ n  1) )))

    (setq  chen (int  1)  )(mycar4  chen)(mycar4 (mycdr4  chen))(mycar4 (mycdr4 (mycdr4  chen)))

    it doesn't  work


    最新回复(0)