忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Erlang Documentation に沿ってみる。

ファイル 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
fibonacci(100)とかやったら死んだ。



引数が二つのとき。

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

Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
[13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3
«  Back :   HOME   : Next  »
ブログ内検索
忍者ブログ [PR]