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

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

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

Tree = lambda: defaultdict(Tree)

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

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

Див. також Стратегії обчислення Змінна (програмування) Вівіфікація

Зноски

Посилання perl561delta: File and directory handles can be autovivified Autovivification in Perl: An In-Depth Tutorial A Use of the Y Combinator in Ruby  — Implements autovivification in Ruby with the Y Combinator. Hash#autonew in the Ruby gem «facets» adds autovivification on hash reads The Ruby gem «xkeys» facilitates nested structure traversal and autovivifies on array or hash writes