インストール
packageからインストール。
インストール後のメッセージ
1
2
3
4
5
6
7
8
9
10
11
===========================================================================
Installation tips:
You can find an emacs mode for Erlang here:
/usr/local/lib/erlang/lib/tools-2.6.6.5/emacs
You may wish to add the following line to /etc/manpath.config:
OPTIONAL_MANPATH /usr/local/lib/erlang/man
===========================================================================
起動と終了
起動してみる
1
2
3
4
$ erl
Erlang R14B04 (erts-5.8.5) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
終了
色々やってみる
erlで入って
1
2
3
4
5
6
7
8
9
10
11
1 > 2 + 2 . 0 .
4 . 0
2 > "Hello World!" .
"Hello World!"
3 > [ 1 , 2 , 3 , 4 ].
[ 1 , 2 , 3 , 4 ]
4 > [ 72 , 97 ].
"Ha"
5 > [ 65 , 76 , 99 , 111 , 116 ].
"ALcot"
うむ。
1
2
3
4
5
6
7
8
9
10
11
12
13
7 > "hoge" + 1 .
** exception error : bad argument in an arithmetic expression
in operator +/ 2
called as "hoge" + 1
8 > var = 1 .
** exception error : no match of right hand side value 1
9 > Var = 1 .
1
10 > Var = 2 .
** exception error : no match of right hand side value 2
11 > MY_CONST = hoge .
hoge
変数は大文字始まり、代入は一回だけ。
さらにいろいろやりたくなってきたので……
Emacsを準備。
1
2
3
$ which emacs
emacs not found
Σ(`ロ´;)そういえばemacs入れてなかったorz
VimでErlang開発環境
色付けは ~/.vimrc に syntax on でおk
vim test.sh
してから、コマンドモードで
:vs study01.erl
する。
で、以下のように編集 ※画面切り替えは Ctrl+W (大文字Wだからshift押すよ)
1
2
3
4
5
6
7
8
9
10
11
- module ( study01 ).
- export ([ another_factorial / 1 ]).
- export ([ another_fib / 1 ]).
another_factorial ( 0 ) -> 1 ;
another_factorial ( N ) -> N * another_factorial ( N - 1 ).
another_fib ( 0 ) -> 1 ;
another_fib ( 1 ) -> 1 ;
another_fib ( N ) -> another_fib ( N - 1 ) + another_fib ( N - 2 ).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#/bin/bash
erl_run(){
echo "erl> $1 "
erl -boot start_clean -noshell \
-eval "io:write( $1 )" \
-run init stop
echo
}
erlc study01.erl
erl_run "study01:another_fib(1)"
erl_run "study01:another_fib(10)"
erl_run "study01:another_factorial(3)"
erl_run "study01:another_factorial(10)"
:!./test.sh で実行(chmod +x test.sh を忘れずに…)
参考にした本やサイト
ちょっと進んだ内容