Question

I have a novice question. I'm reading the book "Erlang Programming" and working on exercises after every chapter.

In the situation that I have a db.erl module, and inside it I've placed several functions for several exercises. After a few days of playing with exercises I've grown tired from repeating "compile->execute exercise-function" actions in the erl shell. Let's say I'm working on new() function in the db.erl module; after each modification of this function, I'm forced to do next in erl:

c(db.erl).
db:new().

again and again. Sometimes I forget to re-load my module and the results are confusing. I can compile/load through OS shell using: erl -compile file.erl; erl -make, but I did not find a way to run specific function from specific module. Any suggestions?

Was it helpful?

Solution

You can use -eval option:

$ erl -eval 'io:format("printing ~p~n", [{any, term}]), init:stop()' -noshell
printing {any,term}

Read documentation here: http://www.erlang.org/doc/man/erl.html

And you can use just erlc to compile files: http://erlang.org/doc/man/erlc.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top