2012-03-31 47 views
3

當我學習某些語言的Clojure時,語法的可讀性和便利性是最重要的問題(也許這是錯誤的..)。
所以,Clojure非常吸引我,但可能會有很多括號來維護。
我正在考慮是否有一個腳本,我可以在沒有一些括號的情況下編寫代碼,然後將其編譯到Clojure,這應該會更好。這樣的程序到目前爲止存在嗎?
(一旦告知,是一個Scheme縮進語法,這很好。如何Clojure的?)是否有任何程序添加Clojure的括號?

回答

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

或多或少是這一個。只需使用縮進來替換一些括號即可。 – jiyinyiyong 2012-04-01 09:50:34

相關問題