Как я добавляю к alist в схеме?

Да, могу. Предположим, что нам нужно отслеживать ваши системные средства. В вашей системе имеется несколько администраторов и субадмин. Все они могут вставлять или обновлять или редактировать любую информацию. В конце вы должны знать, кто это делает. Для решения этой проблемы вам потребуется сериализовать.

  **Explain:**Create a table named history which stores all changes. Each time there is a change insert a new row in this table. It might have this fields:

  history(id,target_table(name of the table), target_id (ID of the saved entry),create/edit/change data (serialized data of the saved row),date)

Надеюсь, это вам поможет.

5
задан troelskn 18 September 2008 в 19:54
поделиться

2 ответа

Вы не добавляете к список. Вы подставляете на список.

Список является логически рядом ассоциаций. Вы не заботитесь о порядке элементов в наборе. Все, о чем Вы заботитесь, является присутствием или отсутствием конкретного элемента. В случае список, все, о чем Вы заботитесь, - существует ли там ассоциация для данного тега (т.е. пара, CAR которой является заданным значением), и, учитывая, что ассоциация, присваиваемое значение (т.е. в этой реализации, CDR пары).

5
ответ дан 18 December 2019 в 14:54
поделиться

Язык Common LISP определяет функцию под названием ACONS для точно этой цели, где

(acons key value alist)

эквивалентно:

(cons (cons key value) alist)

Это убедительно предполагает, что просто концентрирование на alist идиоматично. Обратите внимание, что это означает две вещи:

  1. Поскольку поиски обычно выполняются по всей длине, недавно добавленные ассоциации имеют приоритет по более старым. Это может использоваться для наивной реализации и лексических и динамических сред.
  2. В то время как концентрирование на список является O (1), добавление обычно O (n), где n является длиной списка, таким образом, идиоматическое использование является лучшим для производительности, а также являющийся стилистически предпочтительным.
8
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: