2

(cond ((test-1) (expression-1)))

cond を使用する場合、(式-1) に複数の関数を指定できますか?

このような:

(cond ((= 1 1) ((fun1) (fun2)) )

4

2 に答える 2

7

begin実際にはオプションです -- cond(Scheme と Emacs Lisp では、少なくとも) 各テスト式の後に複数の式を取り、それらを暗黙的に順番に評価します。begin

(cond ((= 1 1) (fun1 ...) (fun2 ...))
      (t (something-else)))

スキーム#tの代わりに使用t

于 2012-09-24T08:53:12.413 に答える
4

beginはい、以下に示すように、複数の式を でラップすることにより、複数の式を実行できます。

(cond ((= 1 1) (begin (fun1) (fun2))) 

注: begin 式の戻り値は、最後の式の結果になります。つまり、この例では、戻り値は fun2 実行の結果になります。

于 2012-09-24T08:49:06.760 に答える