ELisp编程六:定义变量
来源:互联网 发布:迅龙数据恢复 绿色 编辑:程序博客网 时间:2024/05/18 06:45
给变量赋值
set
(set arg1 arg2) 这种语法将arg2设置为arg1的值
比如:
(set ‘flowers '(rose violet daisy buttercup))
这是创建了一个symbol flowers,将(rose violet daisy buttercup) list 赋值给了flowers的value域。
稍后,可以直接使用flowers,就像用变量一样,实际上是使用的它的value域存放的list,比如:
(print flowers)
也将输出(rose violet daisy buttercup)
注意,单引号在这里是告诉解析器不要试图对flowers和(rose violet daisy buttercup)求值。
如果set语句去除flowers前面的单引号,那么flowers就会被求值。因为这里flowers还没有被定义,求值就会错误,会看到如下错误:
error: (void-variable flowers)
应该还是很好理解的。
setq
setq语句是set的简化版本,当set的第一个参数如果要加单引号的话,就可用setq来简化。比如下面的用法:
(setq flowers '(rose violet daisy buttercup))setq还支持一次多定义几个symbol,比如:
(setq trees '(pine fir oak maple) herbivores '(gazelle antelope zebra))
defvar
和set有差别:
1.如果一个变量没有值,则赋给它初始值
2.如果一个变量已经有值,则什么也不做
3.提供了一个字符串参数用于描述这个变量。
(defvar 变量名 变量值 "变量描述文档")C-h v 可以看到该变量的描述文档
- ELisp编程六:定义变量
- Elisp 编程
- ELisp编程九:循环
- ELisp编程四:文件操作
- ELisp编程七:创建函数
- ELisp编程八:条件语句
- ELisp编程十:求最大值
- ELisp编程十三:宏一
- ELisp编程十三:宏二
- ELisp编程十四:宏三
- ELisp编程一:运行elisp的各种方式
- ELisp编程一:运行elisp的各种方式
- ELisp编程二:Atom,Symbol,空格,注释
- ELisp编程五:解析器相关
- ELisp编程十一:正则表达式一
- ELisp编程十二:正则表达式二
- shell编程---变量的定义
- (shell笔记六)Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
- Hibernate------测试
- Hibernate------死锁
- attrs.xml的使用
- springMVC3+JDBCTemplate简单示例
- 快速排序算法
- ELisp编程六:定义变量
- 树立正确的社会观与人生观
- Android display架构分析
- UC故事 2012/04/19 Server
- Activtiy的四种加载模式
- RSS源摘录
- MySql COLLATE 的区别
- gcc 头文件搜索路径
- ruby on rails 【语法大全2】【模型(Models)】数据库迁移(Migrations)