小编Ret*_*ief的帖子

cond with big clauses

在Clojure中,在cond语句中格式化大子句的推荐方法是什么?

例如:

(cond
 (> (large-function large-arg1
                    large-arg2
                    large-arg3)
    long-var-name))
 (->> (iterate #(* % 6) 1)
      (take 10)
      (apply +))
 (> (large-function large-arg4
                    large-arg5
                    large-arg6)
    long-var-name))
 (->> (iterate #(* % 6) 1)
      (take 10)
      (apply +))
 (> (large-function large-arg7
                    large-arg8
                    large-arg9)
    long-var-name))
 (->> (iterate #(* % 6) 1)
      (take 10)
      (apply +)))
Run Code Online (Sandbox Code Playgroud)

如果结果与条件在同一行,则结果也会缩进,但如果结果和条件是不同的行,则很容易失去条件与结果的跟踪.这似乎是Common Lisp样式cond会有用的情况,但添加括号(在Clojure的情况下可能是括号)似乎不是推荐的课程.

clojure

7
推荐指数
1
解决办法
508
查看次数

标签 统计

clojure ×1