在通过介绍性的Lisp书的主要部分之后,我仍然无法理解特殊运算符(quote)(或等效的')函数的作用,但这已经是我见过的所有Lisp代码.
它有什么作用?
我有一个关于评估lisp中列表的问题.
为什么(a)和(+ a 1)不评估,
(defun test (a) (+ a 1))
Run Code Online (Sandbox Code Playgroud)
就像(print 4)这里没有评估一样
(if (< 1 2) (print 3) (print 4))
Run Code Online (Sandbox Code Playgroud)
但(print (+ 2 3))在这里评估
(test (print (+ 2 3)))
Run Code Online (Sandbox Code Playgroud)
它们与标准库函数有关吗?我可以在我的lisp程序中定义类似的函数吗?
所以我得到了Land of Lisp并开始做第一个程序.我有几个问题.
有没有办法只编写一些代码并通过编译器或解释器运行它,而不是使用REPL的东西?我不喜欢它.如果我搞砸了,我似乎无法回去.它只是有点说"你搞砸了,重新输入整个功能."
我还想知道REPL的重点是什么.