Erlang (programming language)/Tutorials/Functions: Difference between revisions
imported>Chris Day No edit summary |
imported>Eric Evers |
||
Line 1: | Line 1: | ||
{{subpages}} | {{subpages}} | ||
=Syntax of functions= | =Functions= | ||
==Syntax of functions== | |||
Functions are defined by the domain of the arguments and the number of arguemnts. A function ends with a period. A function defined over differnt domains are separated by semicolons. A fact function gives an answer that is sensitive to the domain of the input. With strings it gives a fact. With counting numbers it gives the factorial function. | Functions are defined by the domain of the arguments and the number of arguemnts. A function ends with a period. A function defined over differnt domains are separated by semicolons. A fact function gives an answer that is sensitive to the domain of the input. With strings it gives a fact. With counting numbers it gives the factorial function. | ||
Line 11: | Line 13: | ||
fact(N-1)*N; | fact(N-1)*N; | ||
fact(N) when N < 0 -> error. | fact(N) when N < 0 -> error. | ||
==Calling functions== | |||
One can use the direct syntax to call a function: | |||
Package_atom:function_atom(Args). | |||
1> lists:max([4,5,6]). | |||
6 | |||
We can represent the parts with variables. | |||
3> Package = lists. | |||
lists | |||
4> Function = max. | |||
max | |||
5> Args = [4,5,6]. | |||
[4,5,6] | |||
6> Package:Function(Args). | |||
6 | |||
Or we can use the tuple notation: | |||
7> {lists,max}([4,5,6]). | |||
6 |
Revision as of 07:05, 6 September 2008
The metadata subpage is missing. You can start it via filling in this form or by following the instructions that come up after clicking on the [show] link to the right. | |||
---|---|---|---|
|
Functions
Syntax of functions
Functions are defined by the domain of the arguments and the number of arguemnts. A function ends with a period. A function defined over differnt domains are separated by semicolons. A fact function gives an answer that is sensitive to the domain of the input. With strings it gives a fact. With counting numbers it gives the factorial function.
fact("aloha") -> "Aloha is a greating"; fact(String) when is_a_list(String) -> "no fact is known about " ++ String; fact(0) -> 1; fact(N) when is_integer(N) and (N > 0) -> fact(N-1)*N; fact(N) when N < 0 -> error.
Calling functions
One can use the direct syntax to call a function: Package_atom:function_atom(Args).
1> lists:max([4,5,6]). 6
We can represent the parts with variables.
3> Package = lists. lists 4> Function = max. max 5> Args = [4,5,6]. [4,5,6] 6> Package:Function(Args). 6
Or we can use the tuple notation:
7> {lists,max}([4,5,6]). 6