(setq my-name "Bastien")
和 (setq my-name 'Bastien)
区别是什么呢?
前者运行结果“Bastien”带引号,后者结果Bastien
再运行 (insert "Hello,I am" my-name)
,
带双引号的结果Hello,I am Bastien;后者报错。
请问怎么理解呢?
“aaa” 是一个字符串, 'aaa 是一个符号, 两个是不同的数据类型,你应该看看文档,这是最基础的一些概念
好的,非常感谢,现在正在学习elisp
lisp 中的变量和其他语言的变量有一点区别, lisp 中的变量就是一个空间,可以放置任何类型的东西, 不像其他语言, 变量有类型
1 个赞
变量还是有类型的。准确地说是不需要显式申明类型,而是由解释器自动推测类型。
0基础学Elisp,建议在有自己的理解以后先看下面那个帖子里面提到的较短文章。
对理解一些必要的Lisp特有概念有所帮助。
2 个赞
lisp 里面的变量似乎就是指针, 指到什么类型的数据, 变量就是什么类型。
1 个赞
这两行结果一样 ’ 是 quote 的简写形式
(quote foo)
'foo
quote
的意思是不要执行后面的内容,返回它原本的内容
(print '(+ 1 1)) ;; -> (+ 1 1)
(print (+ 1 1)) ;; -> 2
3 个赞