Можно ли использовать запись в качестве элемента записи - PullRequest
3 голосов
/ 21 августа 2009

Я хочу определить большую запись, используя набор меньших записей, чтобы сделать объявление более читабельным.

Я пытаюсь сделать что-то вроде этого:

-запись (молли, {xx = 0, yy = 1}).

-запись (Гарри, {#molly, zz = 2}.

Вышесказанное, конечно, не компилируется: - (

Есть ли способ сделать это ??

Ответы [ 2 ]

5 голосов
/ 21 августа 2009

Наконец-то нашел ответ в уроке .....

-record (name, {first = "Robert", last = "Ericsson"}).

-запись (человек, {имя = # имя {}, телефон}).

Спасибо ...

0 голосов
/ 21 августа 2009

Да, есть - wxErlang часто использует это для сообщений о событиях. Синтаксис использования выглядит как

#wx{id=1, event=#wxCommand{}}

где поле event внешней записи установлено в пустое wxCommand.

Соответствующая декларация

%% @type wx() = #wx{id=integer(), obj=wx:wxObject(), userData=term(), event=Rec}. Rec is a event record.
-record(wx, {id,     %% Integer Identity of object.
             obj,    %% Object reference that was used in the connect call.
             userData, %% User data specified in the connect call.
             event}).%% The event record 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...