Clojure语言一:Symbol

Symbol书写方式

1.开头不能是数字

2.之后可以是文字或数字和 *, +, !, -, _, ?


特殊字符用法


/ 特殊字符

在Symbol中只能出现一次,

可以 / 左边是namespace,右边是类,比如:my-namespace/foo,也可以左边是类,右边是方法,还可以在project.clj文件中的dependency中左边是groupId,右边是artificatId.


. 特殊字符

可以出现在Symbol中多次。比如:java.util.BitSet。

.开头或者结尾的Symbol是Clojure自己使用的Symbol

: 特殊字符

可以用在Symbol中多次,但是不能连续

:开头或者结尾的Symbol也是Clojure自己使用的Symbol

比如map中用的key都需要用:开头, set中的value都要用:开头


定义一个Symbol

可以用def来定义一个Symbol,比如:

user=> (def x 5)
#'user/x
定义了Symbol x,值为5,namespace是user.

Symbol与其他lisp方言的差别

1.nil不是一个Symbol

2.keyword(关键字)不是Symbol

3.Symbol不同于Var,不是storage location

关于var参考我的后面文章:http://blog.csdn.net/sheismylife/article/details/8445916


其他Symbol作为Lisp语言的基本描述,参考我的另一篇文章:

http://blog.csdn.net/sheismylife/article/details/7466413



你可能感兴趣的:(Clojure语言一:Symbol)