如何评论Clojure中的多行?
Answer 1:
其实,还有一个办法!
(comment
(DEFN哎[]( “嘿!”))
对我进行检查! )
只是包装在您的评论(评论。):)
玩得开心!
Answer 2:
Clojure的支持#_
读者宏其完全跳过下一形式。 这是一个关于网页上提到Clojure的读者 。 也有评论宏具有类似的效果,但实现方式不同。
上述两个要求,你注释掉的东西,否则是一个语法正确的S-表达。
一些Lisp的方言有一个多行注释,可以包含任意文本,但我没有看到一个Clojure的。
Answer 3:
双引号(字符串文字)允许将任意文本(不仅是正确的S-形式):
(comment "
public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello, World");
System.out.println();
}
}
")
Answer 4:
其他的例子是伟大的,我只是想增加一个绝招:
有时你想注释掉的几行代码,但仍然有编译器编译并报告任何错误 (例如,一组你打算在以后REPL执行的顶级命名空间的命令)。
在这种情况下,我喜欢来包装的代码(fn [] .....)
这意味着它仍然被编译,它只是不被调用。
Answer 5:
请参阅此链接: http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips
您可以创建语法多评论
(comment .....
....)
Answer 6:
当使用emacs和苹果酒,有一个命令Mx comment-region
,我经常使用。
Answer 7:
在Emacs,你可以使用命令M-;
(快捷键为Mx comment-dwim
)。 它会评论或取消注释的文本/代码的任何标记的区域,所以,只要你的整个功能或一组功能包括在该地区,你可以发表评论或取消注释该地区很容易。 该函数的Emacs的参考手册M-;
可以发现在这里 。
Answer 8:
有多种方法,我知道:
第一种是使用注释宏:它不但没有评估评论体内的所有代码(但它仍检查平衡括号/括号中)。 如果你知道你的paredit方式,如果你要评论数SEXP调用它不会花费太多时间。
(comment
(println 1))
但是,它仍然会检查括号匹配。 所以,如果你有不平衡的括号,你的代码将不能编译(产生java.lang.RuntimeException: EOF while reading
)。
另一种方法是使用#_
(又名丢弃宏):它会放弃接下来的SEXP,这是我个人比较喜欢(更快的输入,通常我这样做对sexps当我有调试)方式:
#_(println 1)
它还检查无与伦比的分隔符:所以如果你有不平衡的括号,它不会编译为好。
最后,还有的;
字符将注释行(类似于其他语言解说功能)和编译会完全忽略它。 如果你想发表评论多行,你需要预先所有的线; ,这通常是一个麻烦,但一般的文本编辑器将选择多行后,命令你做它。
; (println 1)
; (println 1 also won't break