【发布时间】:2010-12-11 01:13:14
【问题描述】:
我在 Clojure 中有一组数字函数,我想验证它们的参数。函数需要多种类型的参数,例如正整数、百分比、数字序列、非零数字序列等。我可以通过以下方式验证任何单个函数的参数:
- 将验证码写入 函数。
- 写一般 目的函数,将其传递给 参数和预期类型。
- 编写通用宏, 将参数传递给它 预期类型。
- 其他我没想到的。
Larry Hunter 的一些Lisp code 是#3 的一个很好的例子。 (查找 test-variables 宏。)
我的直觉是,宏更合适,因为它可以控制评估,并且有可能进行编译时计算,而不是在运行时全部完成。但是,我还没有遇到我正在编写的似乎需要它的代码的用例。我想知道是否值得努力编写这样的宏。
有什么建议吗?
【问题讨论】:
标签: validation macros clojure