×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Erlang Documentation に沿ってみる。
ファイル test.erl
これは
-module(test). testって名前のモジュールで、
testモジュールには
-export([sqr/1]). sqrという名前の引数が一つの関数があるよー。
で、コンパイル
そんなファイルねーよ。
test.erlはerlangの実行フォルダと同じ場所になければいけないらしいあたりまえだ。
そんなわけで

で作業フォルダを設定して再トライ。
うまくいった。
Erlangドキュメントではfactorialで解説されてた。
俺はfibonacciでやる。
test2.erl
関数がまだ続く場合、"."ではなく";"を置くらしい。
fibonacci(100)とかやったら死んだ。
引数が二つのとき。
test3.erl
まとめ
erlファイル
コンパイル
関数を使う
ファイル test.erl
-module(test). -export([sqr/1]). sqr(X) -> X * X. |
-module(test). testって名前のモジュールで、
testモジュールには
-export([sqr/1]). sqrという名前の引数が一つの関数があるよー。
で、コンパイル
1> c(test). ./test.erl:none: no such file or directory error |
test.erlはerlangの実行フォルダと同じ場所になければいけないらしいあたりまえだ。
そんなわけで
で作業フォルダを設定して再トライ。
1> c(test). {ok,test} 2> test:sqr(4). 16 |
Erlangドキュメントではfactorialで解説されてた。
俺はfibonacciでやる。
test2.erl
-module(test2). -export([fibonacci/1]). fibonacci(0) -> 0; fibonacci(1) -> 1; fibonacci(N) -> fibonacci(N-1) + fibonacci(N-2). |
Erlang (BEAM) emulator version 5.6 [async-threads:0] Eshell V5.6 (abort with ^G) 1> c(test2). {ok,test2} 2> test2:fibonacci(5). 5 3> test2:fibonacci(10). 55 |
引数が二つのとき。
test3.erl
-module(test3). -export([tasu/2]). tasu(X, Y) -> X + Y. |
1> c(test3). {ok,test3} 2> test3:tasu(5,9). 14 |
まとめ
erlファイル
-module(モジュール名). -export([関数名/引数の数]). 関数名(引数) -> なんか. |
コンパイル
> c(モジュール名). |
関数を使う
> モジュール名:関数名(引数). |
PR
乗算命令 MUL
{EDX, EAX} = {EDX, EAX} * ECX
EDX: 上位32ビット
EAX: 下位32ビット
MUL ECX |
EDX: 上位32ビット
EAX: 下位32ビット
Erlang シェルは電卓としても使えるっぽい。
Erlang (BEAM) emulator version 5.6 [async-threads:0] Eshell V5.6 (abort with ^G) 1> 1+1. 2 |
2> 1/0. ** exception error: bad argument in an arithmetic expression in operator '/'/2 called as 1 / 0 3> A=3. 3 4> B=4. 4 5> C=A*B. 12 |
6> aa=4. ** exception error: no match of right hand side value 4 7> Aa=4. 4 |
11> D=3. 3 12> D=5. ** exception error: no match of right hand side value 5 |
"変数"じゃなくて"定数"じゃん。
Erlang ダウンロードページ
http://www.erlang.org/download.html
最新版らしいものを(Dec 5, 2007)をダウンロード。
サーバーが海外にあるためか、転送が非常に遅い。25分くらいかかるらしい。
ミラーサイトからダウンロードを試してみたら、結構速い。
それでも10分くらいかかったけど。
あまりに暇だったので、コマンドプロンプトに
>tracert www.erlang.org
とかやってみたり。
でDL完了、インストールは問題なし。
とりあえずErlangを起動してみる。
こんなん出てきた。
ドキュメントの Installation Guide の
Installation Verification とやらを試してみる。
いろいろアホなことをやってしまった。
どうやら、命令の最後には(".")をつける必要があるようだ。
そして、(".")を付けないで改行すると、命令が続いてると解釈されるのね。
あたりまえか。
でやっとうまくいく。ツールバーらしいウィンドウが出た。
と同時にWindows標準のファイアウォールから警告が。
なんかListenでもしてるのか?スルー。
で無事に終了できました。
インストールは成功してるようです。おめでとうございました。
http://www.erlang.org/download.html
最新版らしいものを(Dec 5, 2007)をダウンロード。
サーバーが海外にあるためか、転送が非常に遅い。25分くらいかかるらしい。
ミラーサイトからダウンロードを試してみたら、結構速い。
それでも10分くらいかかったけど。
あまりに暇だったので、コマンドプロンプトに
>tracert www.erlang.org
とかやってみたり。
でDL完了、インストールは問題なし。
とりあえずErlangを起動してみる。
Erlang (BEAM) emulator version 5.6 [async-threads:0] Eshell V5.6 (abort with ^G) 1> |
ドキュメントの Installation Guide の
Installation Verification とやらを試してみる。
Eshell V5.6 (abort with ^G) 1> toolbar.start() 1> toolbar:start() 1> toolbar:start(). * 2: syntax error before: toolbar |
どうやら、命令の最後には(".")をつける必要があるようだ。
そして、(".")を付けないで改行すると、命令が続いてると解釈されるのね。
あたりまえか。
1> toolbar:start(). |
と同時にWindows標準のファイアウォールから警告が。
なんかListenでもしてるのか?スルー。
2> halt(). |
インストールは成功してるようです。おめでとうございました。
Program-Transformation.Org
http://www.program-transformation.org/
Boomerang
http://boomerang.sourceforge.net/
マシン語→C
http://www.program-transformation.org/
Boomerang
http://boomerang.sourceforge.net/
マシン語→C
最新記事
ブログ内検索