在 Common Lisp 中,是否有一个函数可以从给定的字符串中返回一个符号?

2023-12-30

I want

>(??? "car")
CAR
>((??? "car") '(1 2))
1 

我似乎找不到执行此操作的函数。


有一些,具体取决于您想要做什么。

First, intern http://www.lispworks.com/documentation/HyperSpec/Body/f_intern.htm#intern,这将返回一个具有该名称的现有符号(如果存在),否则将创建一个新符号。

Second, 查找符号 http://www.lispworks.com/documentation/HyperSpec/Body/f_find_s.htm#find-symbol,如果存在则返回符号,否则返回 nil(它有两个返回值,第二个可用于区分“返回 nil 作为符号”和“返回 nil 作为未找到符号”)。

第三,有制造符号 http://www.lispworks.com/documentation/HyperSpec/Body/f_mk_sym.htm#make-symbol,这将始终创建一个新的、未驻留的符号,并且几乎可以保证在这种特定情况下不是您想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Common Lisp 中,是否有一个函数可以从给定的字符串中返回一个符号? 的相关文章

随机推荐