common-lisp

    0热度

    1回答

    在流程中,可以定义功能,如 (define f (lambda (x) ...)) 特别的,你可以做这样的事情 (define f (g)) 其中g是一些函数返回一个函数。是否可以在Common Lisp中执行相同的操作,即将函数符号与给定的匿名函数关联起来?

    2热度

    1回答

    在在Lisp中(第84)。格雷厄姆说 ‘(a b c)(没有逗号)等于’(a b c) ,然后说 一个反引号清单相当于调用列出与元素 现状特德。 也就是说,‘(a b c)(不含逗号)等于(list ’a ’b ’c)。 由于'(a b c)和(list 'a 'b 'c)似乎并不相同,所以一个陈述必须是假的。后者是一个新鲜的一致列表(可以安全地修改),而前者是一个常量 - 或者至少该规范允许编译

    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热度

    1回答

    Alexandria具有函数map-product,该函数接受任意数量的列表参数,并按顺序生成元素的所有组合(每个列表一个元素)。例如: (alexandria:map-product 'list '(1 2) '(3 4) '(5 6)) => ((1 3 5) (1 3 6) (1 4 5) (1 4 6) (2 3 5) (2 3 6) (2 4 5) (2 4 6)) 并且当存在在参

    0热度

    2回答

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