clojure 新手指南(4)代码保护

有时候,你可能须要防止一个表达式或者部分表达式被执行。这种就须要一种称为“代码保护”的技术。这项技术使用起来很是简单,就是在表达式前面加上一个单引号“ ‘ ”。clojure 遇到这种前缀加上单引号的表达式就会直接跳过求值,直接把其当作一种叫作“符号”的数据结构。 shell

=>(+ 4 5 3)
12

=>'(+ 4 5 3)
(+ 4 5 3)

=>(str '(+ 4 5 3) " is protected while " (+ 4 5 3) " is evaluated.")
"(+ 4 5 3) is protected while 12 is evaluated."
关于符号:

这里的单引号其实是另外一种形式,叫作quote。'(1 2 3)和(quoto (1 2 3))只是表示相同事物的不一样方法而已。quote(或者单引号)能够在任何地方使用,来阻止Clojure当即对一个表达式求值。实际上,它的做用远不 止于声明一个列表,当涉及到元编程的时候,单引号十分必须。这个后面在对符号做用进行详细说明。 编程

相关文章
相关标签/搜索