當我學習某些語言的Clojure時,語法的可讀性和便利性是最重要的問題(也許這是錯誤的..)。
所以,Clojure非常吸引我,但可能會有很多括號來維護。
我正在考慮是否有一個腳本,我可以在沒有一些括號的情況下編寫代碼,然後將其編譯到Clojure,這應該會更好。這樣的程序到目前爲止存在嗎?
(一旦告知,是一個Scheme縮進語法,這很好。如何Clojure的?)是否有任何程序添加Clojure的括號?
3
A
回答
8
通常使用編輯器或IDE會照顧支架的爲您服務。
這是特別有用的有「彩虹parens」,即括號給予不同的顏色來匹配他們的嵌套級別,所以你可以很快看到他們如何排隊。
一些選項:
- Eclipse的插件逆時針 - 如果偉大的你已經是,如果你想混的Clojure和Java代碼的Eclipse用戶。
- Emacs - Lisp程序員的常用選擇。有一個很好的Emacs的
注組Clojure的工具,在一般情況下,因爲它的簡潔,Clojure的代碼使用比同等的Java代碼更少的括號內。
3
一旦你習慣了parens,它們實際上比Java代碼更容易閱讀。可讀性更重要的是正確的縮進。任何體面的IDE都會爲您修正一段代碼的縮進。
但是,您可能會發現宏執行您想要的操作。例如,線程宏( - >)或..宏。你可以編寫自己的宏來實現更具體的目的。
下面是一個例子:
用戶=>(STR(INC(整數/ parseInt函數 「10」))) 「11」
可以被重寫爲 用戶=>( - >「10 「Integer/parseInt inc str) 」11「
節省了兩個paren對!活泉!回到你最初的問題,如果你可以在給定情況下使用更少的parens編寫非模糊代碼,那麼應該可以編寫一個宏來將更少的parens語法擴展爲真正的Clojure。你有沒有找到你想要的東西的例子?
+0
相關問題
- 1. 是否有任何崇高的文字包裝彩虹括號?
- 2. 是否有任何熱鍵在大括號之間跳轉?
- 3. Clojure打印沒有括號的列表?
- 4. 是否有任何編輯器或流行的編輯器擴展程序自動刪除引號/括號?
- 5. Clojure的要求與括號
- 6. 如何改進檢查括號是否平衡的程序?
- 7. 是否有任何API將廣告添加到我的桌面應用程序
- 8. 如何將Clojure REPL添加到現有的.NET應用程序?
- 9. 是否有任何「糖」的Espresso添加大括號/支架突出顯示到JavaScript編輯?
- 10. 是否有任何編譯添加目錄到包括/庫搜索路徑
- 11. Clojure中的地圖是否有序?
- 12. 是否有任何API從我的應用程序添加跟蹤號碼和訂單狀態到PayPal?
- 13. 是否可以在eclipse中爲括號/括號加上顏色
- 14. 是否有任何clojure工具可以查看Clojure如何使用JVM內存?
- 15. 是否有java/clojure的任何條件重啓庫實現?
- 16. 是否有任何製作本地'defonce'的方法? (Clojure)
- 17. 是否可以將UI添加到node.js應用程序中?或者是否有任何用於node.js的UI庫
- 18. 是否有可能用括號
- 19. 「如果」帶括號是否有變
- 20. 故障使用Clojure引號括號`(...)宏
- 21. 將webapp前端添加到現有的clojure應用程序
- 22. Emacs的密切括號跳到編輯Clojure的代碼時,已有近括號
- 23. 在應用主頁上添加修訂號是否有任何缺點?
- 24. 是否有任何充分的理由讓Sitecore Media url包括代字號?
- 25. 什麼是(&) - 括號中的括號 - 是否代表此代碼?
- 26. 看看是否有任何應用程序有加載的GAC的DLL
- 27. NSNumberFormatter添加方括號
- 28. 是否有任何腳註添加/刪除的事件
- 29. 是否有任何可能的方式將GeoFence添加到Mapbox?
- 30. Java貨幣格式化程序向負值添加圓括號