Метапеременная

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
«Foobar» перенаправляется сюда. См. также статью о медиапроигрывателе foobar2000, о канадском фильме Фубар и об англоязычном акрониме FUBAR.

Метасинтаксическая переменная, Метапереме́нные[1] — это слова-заменители, которые применяются в технических текстах для обозначения чего-либо, что может стоять на их месте, метапеременные часто используются в программировании.

Обычно используют осмысленные имена метапеременных. Например, описание команды переименования файла может выглядеть следующим образом:

mv source target

Здесь source и target — метапеременные, обозначающие имя файла до (source) и после (target) переименования. Однако часто используются и слова, не несущие смысловой нагрузки, foo является каноническим примером.

Использование метапеременных в тексте аналогично использованию в математике (иногда и в других областях знаний) букв x, y и z для неизвестных переменных и a, b и c для неизвестных констант. Метапеременные можно рассматривать как переменные метаязыка, используемого, например, для обсуждения программного кода, описания алгоритма и т. п.

Часто используемые метапеременные[править | править исходный текст]

Искусственные слова[править | править исходный текст]

  • foo часто используется как первая метапеременная, для обозначения неопределённого (пока) объекта: функции, процесса, и т. п. Этимология этого слова также раскрывается в первоапрельском RFC RFC 3092.
  • bar используется для ссылки на второй неопределённый объект в обсуждении. Например, «функция foo вызывает функцию bar» или «функция foo(bar)».
  • часто применяется метапеременная foobar, имя которой образовано как объединение foo и bar.
  • baz — каноническая третья метапеременная, после foo и bar.
  • quux — каноническая четвёртая метапеременная. Иногда используется вариант qux для четвёртой метапеременной и quux, quuux, quuuux и т. д. — для следующих.
  • bat — используется некоторыми программистами вместо quux.
  • xyzzy и plugh — волшебные слова в старой текстовой игре ADVENT.
  • qwe, asd, zxc — набор символов для ввода информации в текстовые поля для быстрого заполнения.

Английские слова[править | править исходный текст]

  • spam и eggs — канонические метапеременные, используемые в языке программирования Python. Это ссылка на известный скетч комик-группы Монти Пайтон.
  • needle (иголка) и haystack (стог сена) могут использоваться в примерах, объясняющих синтаксис команд или функций поиска; благодаря идиоме «искать иголку в стоге сена», становится понятно, что в чём ищется.

Другие примеры[править | править исходный текст]

В качестве метапеременных используются: test, mum, thud, beekeeper, hoge, corge, grault, garply, waldo, kalaa, puppu, dothestuff, temp, var, sub.

Часто используемые мета-числа[править | править исходный текст]

Наличие таких чисел в выводе может указывать на логическую ошибку в программе — неинициализированную переменную.

Имена людей[править | править исходный текст]

  • J. Random (англ. random — случайный) и Ned Baker используются для обозначения любого человека или какого-то человека из определённой группы, например «J. Random User».
  • Имена Алиса (Alice) и Боб (Bob) используются, когда идёт речь о взаимодействии двух человек, например при описании применения криптографических протоколов. В качестве продолжения ряда могут использоваться Carol, Dave и т. д. Для некоторых ролей используются традиционные имена, например, Ева (Eve) — это пассивный взломщик, который может перехватывать данные, но не может их изменять, Мэллори (Mallory) — это активный взломщик, Трент (Trent) — нейтральный арбитр.
  • Вася Пупкин — используется в русскоязычных текстах.
  • Джон Доу (англ. John Doe) — обозначение мужской стороны в судебном процессе.

Доменные имена[править | править исходный текст]

Согласно RFC 2606, в качестве метапеременных для обозначения доменных имён зарезервирован домен верхнего уровня .example и домены второго уровня example.com, example.org и example.net.

В России для обозначения доменов используются также test.ru и test.su

Кроме того, распространен домен domain.tld

Организации[править | править исходный текст]

Множество[править | править исходный текст]

  • Неопределённый артикль (напр. англ. a, an, нем. ein(e)) указывает на то, что слово обозначает какой-то предмет, не выделяя его из числа других таких же («один из», «какой-то», «любой»)
  • Переменная

Информатика[править | править исходный текст]

  • Фича, фишка (общее сленговое название необычных признаков какого-либо явления)

Культура[править | править исходный текст]

География[править | править исходный текст]

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

  1. метапереме́нная. Русский орфографический словарь. Институт русского языка им. В. В. Виноградова РАН (2005). Проверено 12 октября 2013. Архивировано из первоисточника 12 октября 2013.

Литература[править | править исходный текст]

Approximately 212 RFCs, or about 7 % of RFCs issued so far, starting

with [RFC269], contain the terms `foo', `bar', or `foobar' used as a metasyntactic variable without any proper explanation or definition. This may seem trivial, but a number of newcomers, especially if English is not their native language, have had problems in understanding the origin of those terms. This document rectifies

that deficiency.