erlang record使用
本文主要介绍erlang中record的使用。record类似于c里面的结构体。
本文主要参考:http://learnyousomeerlang.com/a-short-visit-to-common-data-structures#wont-be-too-long
好,下面上货。
-module(recorddemo).
%% API
-export([app/0]).
-export([person_factory/1, person_factory/3]).
-record(person, {name, age = 0, hobbies = []}).
app() ->
io:format("erlang record demo~n", []),
Myvar = person_factory(dfdf, 12, [sing, sleep]),
io:format("~p,~p,~p~n", [Myvar#person.name, Myvar#person.age, Myvar#person.hobbies]),
Myvar2 = person_factory(dfdf),
io:format("~p,~p,~p~n", [Myvar2#person.name, Myvar2#person.age, Myvar2#person.hobbies]),
io:format("~n", []).
person_factory(Name, Age, Hobbies) ->
#person{name = Name, age = Age, hobbies = Hobbies}.
person_factory(Name) ->
#person{name = Name}.
运行结果:
erlang record demo
dfdf,12,[sing,sleep]
dfdf,0,[]