【文件属性】:
文件名称:let-else:宏让? 和
文件大小:5KB
文件格式:ZIP
更新时间:2021-06-29 21:03:46
Clojure
该 jar 可在。
let? 宏具有与let相同的行为,除了一个绑定后跟一个或多个下面描述的关键字子句,以任何顺序。
动机
我经常发现自己编写了一系列let绑定,其中一些或所有绑定都有与之关联的断言,如果断言失败,这些断言将停止进一步绑定。 从概念上讲,这种模式真的感觉应该是一个单一的let形式,但实际上它必须用一堆嵌套的lets 、 when-lets 、 if-lets等来实现。所以let? 允许我为该模式编写代码作为它想要的单个let 。
一个人为的例子:
( when-let [a foo]
( let [b bar]
( when ( even? b)
( let [c baz]
( when ( > b c)
( let [d qux]
( f a b c d)))))))
变成:
(
【文件预览】:
let-else-master
----src()
--------let_else.clj(5KB)
----README.markdown(5KB)
----test()
--------let_else_test.clj(2KB)
----project.clj(278B)