小编oak*_*ld1的帖子

Common Lisp从包中导出符号

是否有一种从包中导出所有符号的简短方法,或者它是唯一的方法defpackage.我通常将我的代码编写在一个文件中foo.lisp,该文件通常以一个文件开头,(in-package :foo)并将包定义放到一个文件中package.lisp,该文件通常包含以下内容

(in-package :cl-user)

(defpackage :foo
  (:use :cl)
  (:documentation "Bla bla bla."
  (:export :*global-var-1*
           :*global-var-2*
           :function-1
           :function-2
           :struct
           :struct-accessor-fun-1
           :struct-accessor-fun-2
           :struct-accessor-fun-3
           :struct-accessor-fun-4))
Run Code Online (Sandbox Code Playgroud)

我的问题是:使用一些全局变量和函数简单地设计一个接口有时可能不够用,你必须导出一些结构.在这种情况下,如果您不是简单地导出此结构的访问器函数,则无法操纵这些结构的对象.那么,有没有一种简单的方法来实现这种效果而无需手动导出所有这些访问器功能?

export common-lisp

12
推荐指数
1
解决办法
3981
查看次数

评估包含在字符串中的表达式

我有一个数据库,它在双引号内返回vaild CL表达式.

是否可以将这些字符串转换为表达式.

例如,我通过CLSQL从这个数据库中进行查询,结果它返回给我:

"(foo a b)"

我应该如何将此表达式转换为:

(foo a b)

并进一步评估它?

common-lisp

9
推荐指数
1
解决办法
2429
查看次数

在Common Lisp中逃避双引号

如何在连接字符串时转义双引号?比如我希望

(concatenate 'string "Mama said: " "\"Son, your life is an open book...\"")
Run Code Online (Sandbox Code Playgroud)

给:

"Mama said: "Son, your life is an open book...""
Run Code Online (Sandbox Code Playgroud)

而是用反斜杠返回它:

"Mama said: \"Son, your life is an open book...\""
Run Code Online (Sandbox Code Playgroud)

string escaping common-lisp string-concatenation

8
推荐指数
1
解决办法
4500
查看次数

使用Windows命令shell创建多个文件

有没有办法在Windows中使用自己的命令提示符(cmd.exe)或终端模拟器创建多个文件,如果你调用它,就像下面简单的一个班轮在任何类Unix系统中会做的那样?请注意,我说的是我不能使用任何替代终端模拟器,如PowerShell或GNU utils的Win 32端口.

for i in `seq 10` ; do `touch $i.txt`; done
Run Code Online (Sandbox Code Playgroud)

windows shell cmd

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

在Emacs中有一个快速的方式来自动换行吗?

是否有一种快速简单的文字包装方式,如KDE Kate的"应用Word Wrap"功能?

emacs word-wrap

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

在Common Lisp中如何确定系统包含的包

每次我通过Quicklisp安装系统时,我总会发现自己正在搜索基本软件包的名称,普通用户会感兴趣,因为它会导出要播放的"最终产品"API.因此,任何人都需要知道它的名字并在REPL上发出命令:

(use-package :package)
Run Code Online (Sandbox Code Playgroud)

为了在REPL上玩它.

是否有一种快速简便的方法来确定由Quicklisp加载的系统所包含的软件包,而无需搜索过时的文档.

packages common-lisp quicklisp

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

在多个文件的多个系列的LaTeX中绘图和定位

我有50个文件,每个文件包含3个时间序列,每个文件都有相同的制表符分隔格式 具体来说,每个文件包含250个观察结果,如下所示:

1 8.83229 0.02544 0.02544
2 2.95561 0.02544 0.02544
3 1.27395 0.02544 0.02544
4 2.01115 0.02544 0.02544
5 2.38058 0.02383 0.02383
6 1.10755 0.02383 0.02383
7 1.16735 0.02013 0.02013
8 1.57755 0.02013 0.02013
9 1.81942 0.02013 0.02013
10 1.45921 0.01611 0.01611
...
246 0.04564 0.02383 0.01611
247 0.04357 0.02383 0.01611
248 0.03651 0.02383 0.01611
249 0.03334 0.02383 0.01611
250 0.03438 0.02383 0.01611
Run Code Online (Sandbox Code Playgroud)

第一列显然是索引,其他三列是时间序列.我编写了一个gnuplot脚本,可以从另一个shell脚本调用,以便绘制所有这50个文件.但是我想以这样一种方式组织这些情节,即用LaTeX编写的出版物中的3x4或4x5,在一个A4中.是否有LaTeX包或gnuplot技巧?使用R可能更容易做到这一点?任何建议都是受欢迎的.

latex r gnuplot ggplot2

0
推荐指数
1
解决办法
308
查看次数