< Erlang Programming
Records in Erlang are syntactic sugar for tagged tuples. The functionality is provided by the preprocessor, not the compiler, so there are some interesting restrictions on how you use them and their support functions.
Defining Records
-record(myrecord, {first_element, second_element}).
The code above defines a record called myrecord with two elements: "first_element" and "second_element". From now on we can use the record syntax #myrecord{}.
Equivalent to Tuples
Records are syntactic sugar for tuples.
#myrecord{first_element=foo, second_element=bar} =:= {myrecord, foo, bar}. #myrecord{} =:= {myrecord, undefined, undefined}.
The record we defined with two fields is equivalent to a tuple with a tag (the name of the record) and as many elements as the record has fields—two, in our case.
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.