【Erlang】FreeBSDにErlangを入れてみた
インストール
packageからインストール。
$ pkg_add -r erlang
インストール後のメッセージ
=========================================================================== 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 ===========================================================================
起動と終了
起動してみる
$ erl Erlang R14B04 (erts-5.8.5) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.8.5 (abort with ^G)
終了
q().
色々やってみる
erlで入って
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"
うむ。
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
変数は大文字始まり、代入は一回だけ。
さらにいろいろやりたくなってきたので……
VimでErlang開発環境
- 色付けは ~/.vimrc に syntax on でおk
vim test.sh
してから、コマンドモードで
:vs study01.erl
する。
で、以下のように編集 ※画面切り替えは Ctrl+W (大文字Wだからshift押すよ)
- study01.erl
-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).
- test.sh
#/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 を忘れずに…)
参考にした本やサイト
- http://www.amazon.co.jp/7つの言語-7つの世界-Bruce-A-Tate/dp/4274068579
- 7つの言語 7つの世界
- http://kaworu.jpn.org/kaworu/2009-06-26-1.php
- インストール方法、起動・終了
- http://d.hatena.ne.jp/kakipo/20081017/1224229752
- 基本的なこととか
- http://d.hatena.ne.jp/m-hiyama/20080913/1221290720
- erlのコマンドライン引数
- http://d.hatena.ne.jp/higepon/20090818/1250585296
- Erlang アプリケーションをコマンドラインで起動し、その後停止する方法
- http://www.glamenv-septzen.net/view/414
- Erlangシェルの起動停止, ロードパスの調整, コンパイルと実行など