Skip to content

Instantly share code, notes, and snippets.

@zhouqiang-cl
Created November 20, 2016 12:45
Show Gist options
  • Save zhouqiang-cl/3b051639e92e02e1fbe5869e4e5375a1 to your computer and use it in GitHub Desktop.
Save zhouqiang-cl/3b051639e92e02e1fbe5869e4e5375a1 to your computer and use it in GitHub Desktop.
common lisp 的函数 INTERN
语法
intern string &optional package => symbol, status
参数和值
string --- 一个字符串
package --- 包名, 默认当前包名
symbol --- 一个符号
status --- :inherited, :external, :internal, 或 nil
描述
如果在 package 中名字为 string 的符号存在, 那这个符号返回. 如果不存在, 则在这个包中新产生一个符号名为 string 的包,
一般这个符号为 internal symbol, 如果 package 为 KEYWORD, 那返回符号的status为 :external
代码
* (intern "Never-Before")
|Never-Before|
NIL
* (intern "Never-Before")
|Never-Before|
:INTERNAL
* (intern "NEVER-BEFORE" "KEYWORD")
:NEVER-BEFORE
NIL
* (intern "NEVER-BEFORE" "KEYWORD")
:NEVER-BEFORE
:EXTERNAL
internal symbol 是在当前包中可以访问到的符号
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment