在这里, 来稍微展示一下:
在 Java 中的一个函数: f(x);
现在, 将它转换为 Lisp 的一个函数, 简单地将第一个括号移到左边即可: (f x)....在函数式编程中, 你的确无法改变一个对象的状态. 但是那又怎么样呢? 当你想要对一个对象进行改变时, 得到一个新的对象就好了, 之前的对象无须改变. 一旦你习惯于此, 这是十分容易处理的....在 Clojure 中, 看起来大概像这样:
(deftype Gateway-imp [db]
Gateway
(get-internal-episodes [this]
(internal-episodes...如果该列表的第一个元素变成了一个函数, 也就是 (f 2 3), 那么它就变成了一个函数调用. 故而, 在 Clojure 中, 所有的函数调用都是列表. 列表可以直接被代码操作....所以, 一个程序也可以构造和执行其他程序.
最后说一句, 函数式编程十分重要. 你应该去学习它. 如果你还在想你应该从哪个语言学起, 我推荐 Clojure.