私はいくつかの言語のClojureを学んでいるとき、構文の可読性と利便性が最も重要な問題です(多分これは間違っています)。
だから、Clojureは私に非常に魅力的ですが、維持するために多くの括弧があるかもしれません。
そして、私はいくつかの括弧を付けずにコードを書いてから、Clojureにコンパイルしてより良いものにするスクリプトがあれば検討しています。そのようなプログラムはこれまで存在していますか?
は(一度それはうれしいです、Schemeのためのインデント構文があると語った。どのようにClojureのでしょうか?)Clojureの括弧を追加するプログラムはありますか?
答えて
通常、あなたはあなたのためのブラケットの世話をするエディタやIDEを使用しています。
"rainbow parens"を持つことは特に便利です。つまり、かっこ内のレベルに合わせるためにカッコが色分けされていて、どのように並んでいるかを素早く確認できます。
いくつかのオプション:
- Eclipse用のプラグインを反時計 - 偉大なあなたはすでにあなたはClojureのJavaコードを混在する場合のEclipseのユーザーである場合。
- Emacs - Lispプログラマーの共通の選択肢です。それは簡潔だの、Clojureのコードは同等のJavaコードより少ない括弧を使用しているため、その一般的な注意
EmacsのためClojureのツールのかなり良いセットは、あります。
括弧に慣れると、実際にはJavaコードより読みやすくなります。読みやすくするために重要なのは、適切なインデントです。まともなIDEがコードブロックのインデントを修正します。
ただし、マクロで目的の操作を行うことができます。たとえば、スレッド化マクロ( - >)または..マクロ。より具体的な目的のために独自のマクロを書くことができます。
ここ例です:
ユーザー=>(STR(INC(整数/のparseInt "10"))) "11"
は ユーザー=>(のように書き換えることができる - >「10 "Integer/parseInt inc str) " 11 "
2ペアの節約! Woot!
元の質問に戻って、特定の状況で少ない括弧であいまいではないコードを書くことができれば、less-parensの構文を実際のClojureに展開するマクロを書くことができます。あなたはあなたが探しているものの例を持っていますか?
- 1. PHPメール()は、ヘッダから角括弧を追加します
- 2. Djangoは、SQL Serverのクエリに角括弧を追加します。
- 3. Java8ストリームマップ()関数の追加の括弧
- 4. Typescriptコンパイラは角括弧を追加しませんか?
- 5. if(); do、セミコロンは括弧の直後にありますか?
- 6. 角括弧[]のユーザーJavaScriptへのリンクを追加するとき
- 7. 角括弧内に角括弧が入ります
- 8. 閉じ括弧がありません
- 9. SQL右括弧がありません
- 10. プログラムでフォームコントロールを追加する方法はありますか?
- 11. なぜWebpackはこのコード行に括弧を追加していますか?
- 12. CodeIgniterのOR_LIKEクエリに角括弧を追加する
- 13. 角2、calc()をインラインスタイルとして追加します。括弧
- 14. 春データのIN句で大括弧が追加されます
- 15. pandoc角括弧のまわりに中括弧を置く
- 16. sqlite studioの列を一括追加する方法はありますか?
- 17. jsonでPythonを使って角括弧を追加する
- 18. else文の中括弧はありませんか?
- 19. リスト要素に括弧を追加する - Python
- 20. json ajaxに角括弧を追加する
- 21. 引っ張るメールアドレスは、二重括弧を追加し、MemberKeyエラー
- 22. カーソルを親括弧に移動するvimコマンドはありますか?
- 23. メンバーを中括弧で初期化する方法はありますか?
- 24. 中括弧がない場合、プログラムはどうなりますか?
- 25. OSX悪意のあるターミナルコマンド(など、コロン、括弧、中括弧、apersand、)
- 26. JSONファイルは、角括弧の代わりに中括弧
- 27. すべての1行ループとIfと括弧を追加
- 28. スウィフトディクショナリは、[String]タイプの値のキーの後に角括弧を追加します。
- 29. CPlusPlusMode:マッチする括弧または中括弧を作成する
- 30. 角括弧に角括弧を割り当てる方法