2016-09-16 267 views
-2

我有一个if else条件我想用Clojure实现......但是坚持了不知道如何为多个做,如果是如果Clojure中else语句

我的代码是这样

{ 
if(x=a) 
{ 
you return sol1 
} else 
{ 
sol 3 
} 
and if(x=b) 
{ 
return sol2 
} 
else 
{ 
sol 3-same as first cond 
} 
} 

这是找到3中最大的整数的一些例子。 我如何在clojure中做到这一点?

+0

你能解释一下你正试图在这里编码什么样的行为?有时候,你使用'sol'作为返回值,有时候不会,并且不清楚你正在尝试使用'和'。 –

+0

这是第一次失败时返回的值。 – joey

+0

您是否要求3路条件?你可以使用'cond'。 – Lee

回答

5

如果我正确理解您的代码,请选择以下选项。他们都有相同的行为。

(if (= x a) 
    sol1 
    (if (= x b) 
    sol2 
    sol3)) 

(cond 
    (= x a) sol1 
    (= x b) sol2 
    :else sol3) 

(condp = x 
    a sol1 
    b sol2 
    sol3) 
+0

非常完美!谢谢:)我刚刚看过cond功能 – joey