小编tus*_*and的帖子

宣告,声明,宣布

能否请您解释这三个符号之间的差异proclaim,declaim以及declare

lisp common-lisp

21
推荐指数
1
解决办法
3497
查看次数

在Common Lisp中"打开代码"是什么意思?

在SBCL用户手册中,有几个对术语" 开放代码 "的引用.Common Lisp黑客在提到优化代码时也会使用这个术语.

你能解释一下"开放代码"的含义并举例说明它是如何工作的吗?

common-lisp

6
推荐指数
1
解决办法
410
查看次数

将循环列表复制到固定长度列表

我将图形坐标存储在循环列表中:

(defun make-circular-list (size &key initial-element)
  (let ((list (make-list size :initial-element initial-element)))
    (nconc list list)))

(defvar *coordinates* (make-circular-list 1024 :initial-element 0.0))
Run Code Online (Sandbox Code Playgroud)

现在,*coordinates*只要必须设置新坐标,就可以轻松更新.

但是,我有一个库函数,它采用一系列坐标在图形上绘制线条.当然这个函数不能用于循环结构,所以我想制作一个固定长度的副本.列表或数组很好.

到目前为止,我曾尝试subseqmake-array:initial-contents关键字,但它失败. loop或者dotimes做工作,但我希望避免迭代列表中的每个元素.

是否有可能有效地复制这个圆形结构或者在移位阵列的精神下制作一个固定长度的阵列?

common-lisp

3
推荐指数
1
解决办法
150
查看次数

如何从符号中调用本地定义的函数?

根据CLHS,FUNCALL参数是一个函数指示符,它可以是表示在全局环境中定义的函数的符号.我正在寻找一种在本地执行此操作的方法,如下例所示:

(defun test ()
  (let ((name 'local-function))
    (flet ((local-function ()
             'hello))
      (funcall name))))
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种从本地环境获取函数定义的方法.Common Lisp有可能吗?

common-lisp

2
推荐指数
1
解决办法
164
查看次数

标签 统计

common-lisp ×4

lisp ×1