Clojure语言一:Symbol
Symbol书写方式:
1.开头不能是数字
2.之后可以是文字或数字和 *, +, !, -, _, ?
3./ 是特殊字符,在Symbol中只能出现一次,通常/左边是namespace。比如:my-namespace/foo。
4. . 也是特殊字符,可以出现在Symbol中多次。比如:java.util.BitSet。
5. : 可以用在Symbol中多次,但是不能连续
6. .开头或者结尾的Symbol是Clojure自己使用的Symbol. :开头或者结尾的Symbol也是Clojure自己使用的Symbol.
Clojure和一般的lisp有点区别,在Symbol这里有如下差别:
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
可以用def来定义一个Symbol,比如:
user=> (def x 5)#'user/x定义了Symbol x,值为5,namespace是user.