Clojure 1.5添加了新的线程宏,包括:
some->some->>更改日志有这个人为的例子来说明some->工作原理:
user=> (defn die [x] (assert false))
#'user/die
user=> (-> 1 inc range next next next die)
AssertionError Assert failed: false user/die (NO_SOURCE_FILE:65)
user=> (some-> 1 inc range next next next die)
nil
Run Code Online (Sandbox Code Playgroud)
与其他程序员聊天,我们发现很难想到一个好的,实用的例子some->.你什么时候some->解决现实世界的问题?
Ale*_*ard 14
some->可用于"自动保护"一系列螺纹处理步骤,其中链中的某些部分(尤其是中间部分)可能返回nil,这将导致链中的逻辑故障.
特定示例可能包括将clojure函数与java interop一起线程化,您需要在其中防止空指针异常.
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |