(cond ((test-1) (expression-1)))
當我使用cond,我可以給(表達式-1)幾個函數?
像這樣:
(cond ((= 1 1) ((fun1) (fun2)))
Scheme:About cond
2
A
回答
4
是的,你可以通過在begin
包裹它們如下圖所示
(cond ((= 1 1) (begin (fun1) (fun2)))
注意執行多個表達式:在開始表達式的返回值最後一個表達式的結果,即在這個例子中返回值將是fun2執行
7
該begin
實際上是可選的 - cond
(方案以及在的Emacs Lisp,至少)採取多種表情每次測試後的表達,進而評價它們在一個隱含的begin
(cond ((= 1 1) (fun1 ...) (fun2 ...))
(t (something-else)))
使用#t
,而不是t
爲計劃
+0
Common Lisp中的每個'cond'子句中都有一個隱含的'progn'('begin'等價物)。我認爲Clojure是不同的,因爲它沒有包含每個子句的附加paren對。 – Inaimathi
相關問題
- 1. mini-kanren cond-a cond-u和cond-e的區別是什麼?
- 2. let cond
- 3. count(*)其中cond = val或count(cond = val)
- 4. 的MongoDB $ COND
- 5. 方案COND
- 6. MongoDB $ cond問題
- 7. Clojure-New Cond Macro?
- 8. 使用COND
- 9. 重寫COND
- 10. 聚合$ COND用Java
- 11. Doxygen \ cond不工作
- 12. MongoDB使用$ last $ cond
- 13. JavaScript中的(cond && value || default_value)和(cond?value:default_value)之間是否有區別?
- 14. if(!cond(it.next()))代表`cond`是什麼意思?
- 15. WHERE <Cond> OR <Cond>但不能同時
- 16. 用lpeg轉換(cond,then,else)到ifthnel(cond,then,else)
- 17. SUM(IF(COND,EXPR,NULL))和IF(COND,SUM(EXPR),NULL)
- 18. rmongodb $ cond在彙總框架
- 19. cond->具有多個值
- 20. 貓鼬$ COND不工作
- 21. 來自cond的返回值
- 22. cond與本地綁定
- 23. Cond和Case有何區別?
- 24. $ COND操作Java代碼
- 25. 與cond匹配類型
- 26. if和cond的區別?
- 27. 「cond」,「and」和「or」in Scheme
- 28. Mongoose SUM + $ cond +數組字段
- 29. cond和模式匹配映射
- 30. 有多個$ COND MongoDB的輸出領域
對於'cond',你甚至不需要在結果中使用'begin'(但是,你必須使用''if')。這就足夠了:'(cond((= 1 1)(fun1)(fun2)))' –