Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-module(fruit).
-export([price/1, price2/1]).

price( pear ) -> 4.0;
price( banana ) -> 3.0;
price( apple ) -> 6.0;
price( orange ) -> 2.0;

% Primera versión hasta acá.

price( [] ) -> 0.0;
price( [{Kilos, Fruit}|Rest] ) -> 
  Kilos * price( Fruit ) + price( Rest ).

% Segunda versión hasta acá.

price2( L ) -> price2( L, 0.0 ).

price2( [], Acum ) -> Acum;
price2( [{Kilos, Fruit}|Rest], Acum ) -> price2( Rest, Kilos * price( Fruit ) + Acum ).