Автовівіфікація (англ. autovivification) — автоматичне створення нових масивів та хешів, щоразу коли звертаються до неописаного значення всередині них. З'явилась в мові Perl, і дозволяє програмісту звертатись до структури даних та довільних її піделементів, без явного створення структури даних перед звертанням.[1]

Емуляція в інших мовах програмування ред.

Python ред.

Модуль collections містить клас defaultdict[2] який можна використати для реалізації автовівіфіковних словників за допомогою простої рекурсивної функції.[3]

from collections import defaultdict

Tree = lambda: defaultdict(Tree)

common_name = Tree()
common_name['Mammalia']['Primates']['Homo']['H. sapiens'] = 'human being'

# Відомі цитати за п’єсою, актом та сценою: 
quotes = Tree()
quotes['Hamlet'][1][3][0] = 'This above all: to thine own self be true.'

Див. також ред.

Зноски ред.

  1. Schwartz, Randal L.; Phoenix, Tom (2003). Learning Perl Objects. O'Reilly Media, Inc. с. 42. ISBN 9780596004781. This process is called autovivification. Any nonexisting variable, or a variable containing undef, which is dereferenced while looking for a variable location (technically called an lvalue context), is automatically stuffed with the appropriate reference to an empty item...
  2. collections - High-performance container datatypes - Python v2 documentation. Архів оригіналу за 14 серпня 2014. Процитовано 14 серпня 2013.
  3. What is the best way to implement nested dictionaries in Python?. Процитовано 14 серпня 2013.

Посилання ред.