我知道文档解释了这些工具,但我不明白这个解释。有人可以提供一两个例子吗?
答案 0 :(得分:4)
在erl_tidy
中,最简单的方法 - 也是最直接的,如果你一直在源目录中运行一个,就是直接从Eshell使用它,如
$ erl
1> m(erl_tidy).
% output snipped
2> erl_tidy:dir(). % recursively tidy the present directory and its children
% output snipped
3> erl_tidy:dir("", [{recursive, false}]). % just the present directory
reading module `./bad.erl'.
made backup of file `./bad.erl'.
writing to file `./bad.erl'.
4>
在这种情况下,bad.erl
来自
-module(bad).
-compile(export_all).
bad(0)->1;bad(1)->2;bad(N)->3.bad()->0.
整理
-module(bad).
-compile(export_all).
bad ( 0 ) -> 1 ; bad ( 1 ) -> 2 ; bad ( N ) -> 3 . bad ( ) -> 0 .
......好吧,这不是魔术师: - )
erl_tidy
也可以通过erl
的参数调用,如
$ # unix prompt
$ erl -s erl_tidy dir
tidying directory `./wesnoth'.
tidying directory `./wesnoth/Vix'.
tidying directory `./wesnoth/Vix/utils'.
...
然而 erl_lint
完全不同。要了解如何使用它,首先要了解this string evaluation example中发生了什么。 erl_lint
旨在作用于Erlang源的中间表示,而不是它的字符串。