let
按以下方式使用嵌套的Clojure是一种好习惯,还是会造成混淆?
(defn a-fun [config]
(let [config (-> config (parse) (supply-defaults))]
;; do something with config
))
我注意到我在与外界交流的输入函数中经常使用这种模式来解析/检查/验证事物(在这种情况下,Clojurescript库公开了公共函数,但是我也有同样的Compojure路由)。
是否令人困惑,因为人们必须了解绑定可见性的规则(不确定确切的措辞是什么)?
惯用的方法是什么?更改config
名称为parsed-config
,将其放在另一个函数中,完全不一样吗?
我会在这个习语时达到
例如
(defn fact [n]
(loop [n n, answer 1]
(if (pos? n)
(recur (dec n) (* answer n))
answer)))
就像我很容易做的那样,这也阻止了您偶然使用全局绑定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句