以下示例以给出一个城市的温度值的列表。其中,一部分是以摄氏度表示,另一部分是华氏温度表示的。首先,我们将所有的温度都转换为用摄氏度表示,再将温度数据输出。
%%%-------------------------------------------------------------------
%%% @author Administrator
%%% @copyright (C) 2019, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 08. 一月 2019 上午 10:55
%%%-------------------------------------------------------------------
-module(helloworld).
-author("Administrator").
%% API
-export([start/0]).
-export([format_temps/1]).
start() ->
io:format("The result is : ~p ~n" , [format_temps([{moscow, {c, -10}}, {cape_town, {f, 70}},
{stockholm, {c, -4}}, {paris, {f, 28}}, {london, {f, 36}}])]).
format_temps([]) ->
ok;
format_temps([City | Rest]) ->
print_temp(convert_to_celsius(City)),
format_temps(Rest).
convert_to_celsius({Name, {c, Temp}}) ->
{Name, {c, Temp}};
convert_to_celsius({Name, {f, Temp}}) ->
{Name, {c, (Temp - 32) * 5 / 9 }}.
print_temp({Name, {c, Temp}}) ->
io:format("~-15w ~w c~n", [Name, Temp]).
运行结果: