Jump to content

Erlang Programming/Expressions

From Wikibooks, open books for an open world

← Pattern Matching | Functions →

Expressions

[edit | edit source]

Erlang statements look a little like sentences. One statement is a series of comma separated expressions ending with a period. Erlang expressions can either be ignored, stored, or returned depending on their position and structure in a statement.

4+3, H=6-2, lists:reverse([3,4,5]).
  [5,4,3]

In this Erlang example the expression: 4+3 is computed, the expression H=6-2 is computed, and the reverse of the list [3,4,5] is computed and returned. The results of 4+3 are ignored and the pattern 4 is matched to the variable H. For ever after H will have the unchangeable value 4. "lists" is the name of a standard module (library) that provides list utility functions. The result shown from the above expression is the value of the last statement so the repl will only show [5, 4, 3] as indicated above.

Problems:

1) Write an expression that matches the pattern H2 to the reverse of the list [{1,2},{2,1}].

2) Write an expression that matches the pattern H3 to the length of the list [{1,2},{2,1}].

3) Write an expression that matches the pattern H4 to the length of the flattened version of the list [{1,2},{2,1}].