clojure 新手指南(6):全局绑定&匿名函数
绑定变量 在Clojure中,我们可以使用 " def " 给函数和数据赋予一个名字。例如我们定义一个叫做“alphabet”的字符串变量 user=> (def alphabet "abcdefghijklmnopqrstuvwxyz") #'user/alphabet user=> alphabet "abcdefghigklmnopqrstuvwxyz" 使用变量的好处一个是方便使用,另一个在于一个有意义的名字大大增强代码的可读性。举个例子,如果我们想要知道一个字符串的包含的字符数量: user=> (count alphabet) 26 我们就不需要在每次去计算字符串数量的时候都要写下长长的一大串了。只用把与该字符串绑定的变量名传过去就行。使用变量绑定,我们不仅能使代码具有良好的可读性,有时候还能增加代码性能。 增加性能?这个很好理解也很常用。例如我们经常把计算好的值绑定到一个变量上。这样我们在用到这个值的时候就不用每次都得重新计算了。对于一些费时的操作,这可能省下大量的时间。下面的例子就说明了这一点: user=> (def alphabet-length (count alphabet)) user=> alphabet-length 26 如果我们要计算字符串长度的两倍,就可以直接使用绑定的字符串长度: user=> (+ alphabet-length