Erlang (programming language)/Tutorials/ETS: Difference between revisions
Jump to navigation
Jump to search
imported>Eric Evers |
imported>Eric Evers |
||
Line 3: | Line 3: | ||
ETS is the erlang table storage system, which provides hash storage and access functions. | ETS is the erlang table storage system, which provides hash storage and access functions. | ||
ETS data is stored in a process as long as it is running. | ETS data is stored in a process as long as it is running. | ||
Here is a simple sample of how to use | Here is a simple sample of how to use some simple functions in ETS | ||
==Sample program: test_ets.erl== | ==Sample program: test_ets.erl== |
Revision as of 18:40, 17 April 2008
ETS local data storage
ETS is the erlang table storage system, which provides hash storage and access functions. ETS data is stored in a process as long as it is running. Here is a simple sample of how to use some simple functions in ETS
Sample program: test_ets.erl
-module(test_ets). -compile(export_all). start() -> start( mouse ). start( Animal ) -> Kingdom = ets:new( 'magic', [] ), % note: table is not square populate( Kingdom, [{micky,mouse}, {mini,mouse}, {goofy}] ), Member = ets:member( Kingdom, micky ), io:format( " member ~w ~n ", [ Member ] ), show_next_key( Kingdom, micky ), find_animal( Kingdom, Animal ). show_next_key( _Kingdom, '$end_of_table' ) -> done; show_next_key( Kingdom, Key) -> Next = ets:next( Kingdom, Key ), io:format( " next ~w ~n ", [ Next ] ), show_next_key( Kingdom, Next ). populate( _Kingdom, [] ) -> {done,start}; populate( Kingdom, [H | T] ) -> ets:insert( Kingdom, H ), populate( Kingdom, T ). find_animal( Kingdom, Animal ) -> ets:match( Kingdom, { '$1', Animal } ).
% ============== % sample output % ============== % 53> test_ets:start(). % member true % next mini % next goofy % next '$end_of_table' % [[mini],[micky]]