lisp

    0热度

    1回答

    我按照这个教程:https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/(3.4.2节)在我的mac上使用以下文件获取edwin编辑器设置:http://web.mit.edu/6.945/dont-panic/.edwin用于自定义编辑器。但是,我无法继续使用他们提供的说明。 我在我的Mac上找不到.edwin文件,而wget命令不

    0热度

    2回答

    这里是一个代码段: CL-USER> (setf (symbol-value (intern "foo")) 98) 98 CL-USER> foo ; Evaluation aborted on #<UNBOUND-VARIABLE FOO {1003FC6213}>. CL-USER> |foo| 98 通过intern创建的符号具有在前端和末端我创建的符号的"|"。但在this

    0热度

    1回答

    的问题是:我喜欢这个列表的列表清单: (((1 2) (3 4) (5 6)) ((7 8) (9 0))) 我把它写在一个文件,其中列出的每一个列表编号打印在这样一行: ....... 1 2 3 4 5 6 7 8 9 0 ...... ......意味着我可以有更多的列表清单。我想知道如何在不使用循环并使用with-open-file,format和递归的情况下实现这一点。每个

    0热度

    1回答

    为了解决我在使用Common Lisp时遇到的一些问题,我浏览了网络并发现: Variable references in lisp 这与我的问题非常相关。 阅读这一部分: 想想功能! .................. 因此,要做你想做的事,代码需要a)在范围内或b)可以访问范围内的函数。 我想弄清楚它,但事情并不清楚。 首先,我不确定a)和b)在最后一句中指的是什么。 第二我如何实际上使用提

    1热度

    3回答

    比如我有阴影COMMON-LISP这个包定义:听: (defpackage :shadows (:use :common-lisp) (:shadow #:listen) (:export #:listen)) 然后我想从另一个包中使用这个包,说 (defpackage :light (:use :common-lisp :shadows))

    1热度

    1回答

    请耐心等待,因为我对lisp还是比较陌生的。我的函数(在这种情况下称为测试)的目标是将列表中的所有值平方并返回一个新列表。例如,原始列表(1 2 3)。 新的名单应该是(1 4 9) 这是目前我有什么到目前为止, (defun test (n) (cond ((null n) nil) (t (cons * (car n) (car n)) (test (cdr

    0热度

    3回答

    我有一个文件a.scm定义这个小程序: (define f (let ((x 0)) (lambda() (set! x (+ 1 x)) x))) 当打电话f反复,结果不断增加: CHICKEN (c) 2008-2016, The CHICKEN Team (c) 2000-2007, Felix L. Winkelmann Version

    2热度

    2回答

    我有两个元素和一个列表。我必须在第一个元素之前插入第二个元素,每次出现第一个元素时,都会在给定列表的第一个级别中插入第二个元素。 递归版本: (defun INSERT-ELEM (E1 E2 L) (cond ((null L) NIL) ((equal E1 (car L)) (cons E2 (INSERT-ELEM E1 E2 (cdr L)))) ((e

    0热度

    1回答

    如果它们在两个给定列表中,我该如何返回元素? 实施例: L1 = (a b c d e a b c) L2 = (a d f g k c c) Result = (a a a c c c c d d) 我想删除的arent两个列表中和,然后元件,附加所得列表

    1热度

    1回答

    如果我要在Lisp中定义以下过程会发生什么情况: (define(p)(p)) 它会返回什么值?我是而不是编程新手,但我正在阅读这本书更深入,并使用Lisp的例子,这让我感到困惑。