Erlang / Erlang Basics Interview questions
What are records in Erlang?
A record is a compile-time convenience for naming the fields of a tuple, so you write
Person#person.name instead of remembering that the name sits at tuple position 2. Under the hood a
record is still a plain tuple with the record name as its first element.
-record(person, {name, age = 0}). P = #person{name = "Ada", age = 34}, Age = P#person.age.
Records are defined with -record(Name, {Field1, Field2 = Default, ...}), usually in a header
file so multiple modules can share the definition. Because they compile down to tuple access, using records
costs nothing at runtime over a raw tuple — the benefit is purely readability and safer field access at
compile time.
More Related questions...