Back to Shopping
In Defining Lists, we had a shopping list that looked like this:
| [{oranges,4},{newspaper,1},{apples,10},{pears,6},{milk,3}] |
Now suppose that we’d like to know what our shopping costs. To
work this out, we need to know how much each item in the shopping
list costs. Let’s assume that this information is computed in a module
called shop
, defined as follows:
shop.erl | |
| -module(shop). |
| -export([cost/1]). |
| |
| cost(oranges) -> 5; |
| cost(newspaper) -> 8; |
| cost(apples) -> 2; |
| cost(pears) -> 9; |
| cost(milk) -> 7. |
The function cost/1
is made up from five
clauses. The head of each clause contains a
pattern (in this case a very simple pattern that is just an
atom). When we evaluate shop:cost(X)
, then the
system will try to match X
against ...
Get Programming Erlang, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.