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

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

=>(+ 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立即对一个表达式求值。实际上,它的作用远不 止于声明一个列表,当涉及到元编程的时候,单引号十分必须。这个后面在对符号作用进行详细说明。

转载于:https://my.oschina.net/clopopo/blog/142297

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值