Top

Records

Ein Record hat einen Namen gefolgt von Feld Definitionen.
Man definiert einen Record mit der Directive -record.

-record(Name, {Field1 [= Value1],
           ...
           FieldN [= ValueN]}).

Definierte Records kann man #<name> erzeugen.

#Name{Field1=Expr1,...,FieldK=ExprK}

Expr#Name{Field1=Expr1,...,FieldK=ExprK}

record_info(fields, Name)
record_info(size, Name)

Auf der Konsole erzeugt man einen Record mit rd().

1> rd(language, {id, name = ""}).
language
2> Language = #language{id=1, name="Erlang"}.
#language{id = 1, name = "Erlang"}

Die definierten Records kann man sich mit rl() anzeigen lassen.
Mit rf() kann man die definierten Records löschen.

3> rl().
-record(language,{id, name = ""}).
ok
4> rf(language).
ok

Um die Record Definitionen aus einem Modul zu laden nutzt man rr(module).