一个例子
这是取自SPOJ (强烈推荐这个OnlineJudge,几乎支持任何编程语言,google之)的第一道题目的答案。从标准输入读入N行整数,遇到42就退出。
Why 42 ? the answer to life, the universe and everything!
-module(tested). -export([main/0]). main() -> case io:get_line("") of {error, Why} -> io:format(Why); "42\n" -> void; Data -> io:format("~s~n",[Data]), main() end. %% your module MUST be named "tested"
第1种方式,在erlang的shell中交互式编译运行
max@max-gentoo ~/Study/GitLab/SPOJ $ erl Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] Eshell V6.1 (abort with ^G) 1> c(tested). {ok,tested} 2> tested:main() 2>
第2种方式,在命令行的提示符中运行
erl -noshell -s tested main -s init stop
第3种方式,碉炸天的erlang一行(没有perl一行易用)
erl -eval 'io:format("Memory:~p~n",[erlang:memory(total)]).' -noshell -s init stop
第4种方式,escript脚本
#!/usr/bin/escript main(_) -> io:format("Hello World~n").