2016-09-16 4 views
-2

Clojureの中else文は私はClojureの中で実装する場合は、他の条件を持っている...しかし、</p> <p>私のコードだ場合は、複数のために行う方法を知らないで立ち往生

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

このようなものである場合3の中で最大の整数を見つけるためのいくつかの例です。 私はそれをどのようにしてクロージャーで行いますか?

+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

関連する問題