码迷,mamicode.com
首页 > 其他好文 > 详细

lisp : set 与setq 函数

时间:2018-03-16 18:49:18      阅读:2170      评论:0      收藏:0      [点我收藏+]

标签:bsp   plain   单引号   比较   函数   发展   高级   color   函数代码   

在Lisp中,如果我们希望对一个变量赋值,可以使用set函数,用法如下:

(set ‘my-value "my string")  

上面的代码是对变量my-value进行赋值,值是"my String"。注意其中的‘my-value前面是有一个单引号的。

 

我们知道,在Lisp中,‘my-value其实是(quote my-value)的简写,所以上面的set函数代码也可以写成这样:

(set (quote my-value) "my string")  


不过,因为set函数使用的次数很多,每次都要使用quote或者在变量名前加一个单引号比较麻烦,于是发展了setq函数,setq中的q字母就是代表quote的意思,使用setq函数就可以这样写了:

(setq my-value "my string") 

如果只是这样使用,可以认为set和setq是没有差别的,只是格式简化了。

但是,事实上setq比set函数要高级一些,setq函数还可以同时对多个变量进行赋值,像下面这样:

(setq my-value1 "my string 1" my-value2 "my string 2") 

上面的代码同时对变量my-value1和my-value2进行赋值。而set函数就不能这样使用了。

lisp : set 与setq 函数

标签:bsp   plain   单引号   比较   函数   发展   高级   color   函数代码   

原文地址:https://www.cnblogs.com/halberd-lee/p/8583770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!