2015-09-25 51 views
-1

我只是想用一个函数忽略列表的第一个值,但下面的代码省略列表第一个值返回相同的列表
我不想从一个温控功能 代码返回:LISP:由参考

#! /usr/bin/clisp  

(defun omit(lstold) 
    (setf lstold (cdr lstold)) 
) 
(setq x (list 3 1 2)) 
(omit x) 
(write x) --> gives output 3 1 2 ... why? 

回答

0

那是因为你没有修改x,但你只是修改了本地lstold,你回到它到任何地方(即没有捕获返回的值)。