如何在 Clojure 中组合 let 绑定和 if 语句
How to combine a let binding and an if statment in Clojure
我正在学习 Clojure,并试图找到一种语言来简洁明了地写东西。在从 returns 值或 nil 的函数获取值(比如从数据库)后,我试图有条件地对值做一些事情。我目前正在使用 let 绑定,然后是 if 语句。这是与我目前拥有的类似的东西:
(defn foo [key]
(let [result (try-getting! key)]
(if result
(+ result 50)
50)))
我想知道是否有更简洁的方法来做到这一点,也许是某种组合的 if-let 绑定?有没有更好的写法?
谢谢!
是的,事实上if-let
就是你想要的。
(if-let [result (try-getting! key)]
(+ result 50)
50)
这里有表格if-let:
(defn foo [key]
(if-let [result (try-getting! key)]
(+ result 50)
50))
我正在学习 Clojure,并试图找到一种语言来简洁明了地写东西。在从 returns 值或 nil 的函数获取值(比如从数据库)后,我试图有条件地对值做一些事情。我目前正在使用 let 绑定,然后是 if 语句。这是与我目前拥有的类似的东西:
(defn foo [key]
(let [result (try-getting! key)]
(if result
(+ result 50)
50)))
我想知道是否有更简洁的方法来做到这一点,也许是某种组合的 if-let 绑定?有没有更好的写法?
谢谢!
是的,事实上if-let
就是你想要的。
(if-let [result (try-getting! key)]
(+ result 50)
50)
这里有表格if-let:
(defn foo [key]
(if-let [result (try-getting! key)]
(+ result 50)
50))