2016-09-16 311 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