当前位置:  开发笔记 > Android > 正文

函数名称作为Lisp中的字符串?

如何解决《函数名称作为Lisp中的字符串?》经验,为你挑选了1个好方法。

我有一个很大的全局变量列表,每个变量都有自己的设置功能.我的目标是遍历此列表,调用每个项目的设置函数,并生成匹配变量中加载的数据的一些统计信息.但是,我现在正在尝试的是不工作,我需要帮助才能使我的程序调用设置功能.

全局变量及其设置函数区分大小写,因为它来自XML,并且是唯一性所必需的.

数据看起来像这样:

'(ABCD ABC\d AB\c\d ...)

并且设置功能如下所示:

(defun setup_ABCD...  
(defun setup_ABC\d...

我已经尝试将它们连接在一起并将结果字符串转换为函数,但这会干扰先前加载的设置函数的命名空间.以下是我尝试实现的方法:

(make-symbol (concatenate 'string "setup_" (symbol-name(first '(abc\d)))))

但使用funcall此功能不起作用.如何从中获得可调用的函数?



1> Nowhere man..:

这是因为MAKE-SYMBOL返回一个未加载的符号.你应该使用INTERN.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有