【发布时间】:2011-12-12 19:59:06
【问题描述】:
This question 要求创建一个 Clojure 宏来生成多个函数。我们想出了一种方法来做到这一点,但遇到了“这是个好主意吗?”的问题。
我最初的反应是不是真的,有两个原因
- 然后您的代码中没有定义的函数,这会使您的代码的理解变得相当复杂! (想象一下,有人对您的某个函数有问题,只查看源代码却在任何地方都找不到)。
- 最好在函数或宏中考虑代码的共性。让您的计算机编写一堆非常相似的函数是一种糟糕的方法。
你怎么看? Lisp 中的生成函数什么时候有意义?它应该是“即时”还是您更愿意将它放在某个文件中?
【问题讨论】:
标签: macros clojure lisp metaprogramming