Как мне использовать erl_tidy и erl_lint? - PullRequest
2 голосов
/ 02 августа 2011

Я знаю, что документы объясняют эти инструменты, но я не понимаю объяснения.Может кто-нибудь привести пример или два?

1 Ответ

4 голосов
/ 02 августа 2011

Из 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 однако полностью отличается. Чтобы понять, как его использовать, сначала поймите, что происходит в этом примере оценки строки . erl_lint предназначен для работы с промежуточным представлением источника Erlang, а не с его строками.

...