lisp

    -1热度

    1回答

    我在Common lisp中编程,我需要一个算法删除具有(至少)两个公共元素的子列表。 我不知道如何解决问题。我想使用此: (defun定义除去-重复表(列表)(删除-重复列表:测试 '等于:键' CDR)) 但子列表之间的CDR是不同,以及i只是无法弄清楚我如何计算两个元素并删除子列表。 另外我需要不删除的 “原始” 的子表(在本例中“(1 2 3 4))中,只有机器人(2 3 4)和(1 3

    0热度

    1回答

    我遇到此功能的问题two-similar-p。 (defun two-similar-p (list1 list2) (mapcar (lambda (e) (mapcar (lambda (e1) (if (equal e e1) t)) list2)) list1)) 但不正确的使用mapcar,因为这个函数返回T

    0热度

    1回答

    我有一个关于LISP程序设计语言问题 我要做的就是读取文件,并在文件中保存的数据。 要做到这一点,我发现这样的功能,并执行它。 (defun get-file (pathname) (with-open-file (stream pathname) (loop for line = (read-line stream nil) while line

    0热度

    2回答

    我的Plist如 '((:atom Toddler :visited nil :on-clauses (0 1)) (:atom Child :visited nil :on-clauses 1)) 我应如何改变在给定的:atom:onclauses财产清单?我想更新此资源,例如使第二plist (:atom Child :visited nil :on-clauses (1 2))

    0热度

    1回答

    我要管理这种情况: (defun make-point (a b) (cons a b)) 这个函数创建笛卡尔轴上的点之一(我省略通用控件方便)。我怎样才能实现一个功能,每次调用点时,它都会更新一个所有点被添加的列表? E.g. '() ((1.1)) ((1.1)(2.4)) ((1.1)(2.4)(4.5)) 我将需要列表作为以下函数的参数。

    0热度

    1回答

    你好,我对自己在文件中读取 约在循环顺序号LISP循环条件问题 我想要做的就是读取文件并保存数据(我实现它简单地说) 但是要做这个迭代,我不知道如何完成循环。 我只想在文件结尾到达时完成循环。 我希望在循环中使用序列号。 例如,我想每次在循环周期中将数据保存在结构s1,s2,s3,s4 .....中,但怎么做? 它是用C语言伪代码简单地表达这个 int i=0; while(!= EOF){

    0热度

    1回答

    有人可以向我解释这段代码的作用和工作原理吗? (defun f (&optional (x nil) (y (if (atom x) nil (car x)))) (cond ((atom x) y) ((< (car x) y) (f (cdr x) y)) (t (f (cdr x) (car x)))))

    0热度

    2回答

    据我所知,#' <object>是(function <object>)的缩写。 但我注意到在应用函数中使用#'时行为不同。 例 (apply '+ '(1 2)) => Works and give 3 (apply (function +) '(1 2)) => 3 然而 (apply '# '(1 2)) => Err!!

    1热度

    1回答

    我使用inferior-shell:run来启动一个长期运行的任务,它可能会经常失败(这是一个构建验证例程)。 我的主要问题是,我找不到一种方法来查看已启动活动的“实时”输出。 我想要一个活饲料的原因是因为如果发生错误,我看不到输出;我看了一下ON-ERROR:的关键,但是它只是说有一个退出代码是1。这很有道理,因为看起来这个关键是一个采取某种恢复操作的回调。但是,如果我的任务失败了,我还想知道它

    0热度

    1回答

    我需要从文件中读取,但我在代码中遇到了一些问题。我已经读我的文件是这样的:每通过#\Space或#\Tab分离线 1.0 4.5 4.555 6.43 4.0 5 ..... 6 3 2号(文件中我能有行的一个大数目)。该函数读必须返回一个列表如下: ((1.0 4.5)(4.555 6.43)(4.0 5)...(6 3)) 我使用with-open-file,read-line