use*_*580 5 lisp symbols function common-lisp
我想要
>(??? "car")
CAR
>((??? "car") '(1 2))
1
Run Code Online (Sandbox Code Playgroud)
我似乎找不到这样做的功能.
有一些,具体取决于你想要做什么.
首先,实习生,这将返回该名称的现有符号(如果存在),否则将创建一个新符号.
第二,find-symbol,这将返回符号,如果它存在,则返回nil(它有两个返回值,第二个可用于区分"返回nil为符号"和"返回nil为没有找到符号") .
第三,有make-symbol,这将始终创建一个新的,未加工的符号,几乎可以保证在这种特定情况下不是你想要的.
您在找这个吗?
(eval (read-from-string "(car '(1 2))"))
Run Code Online (Sandbox Code Playgroud)
给予:1
更新:
怎么样(funcall (intern "CAR") '(1 2))?:)