Метапеременная
Метасинтаксические переменные, метапереме́нные<ref>Шаблон:Cite web</ref> — слова-заменители, которые применяются в технических текстах для обозначения чего-либо, что может стоять на их месте. Метапеременные часто используются в программировании.
Обычно используют осмысленные имена метапеременных. Например, описание команды переименования файла может выглядеть следующим образом:
- mv source target
Здесь source и target — метапеременные, обозначающие имя файла до (source) и после (target) переименования. Однако часто используются и слова, не несущие смысловой нагрузки, foo является типичным примером.
Использование метапеременных в тексте аналогично использованию в математике (иногда и в других областях знаний) букв x, y и z для неизвестных переменных и a, b и c для неизвестных констант. Метапеременные можно рассматривать как переменные метаязыка, используемого, например, для обсуждения программного кода, описания алгоритма и т. п.
Часто используемые метапеременные
Искусственные слова
- foo часто используется как первая метапеременная для обозначения неопределённого (пока) объекта: функции, процесса, и т. п. Этимология этого слова также раскрывается в первоапрельском 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 — набор символов для ввода информации в текстовые поля для быстрого заполнения (буквы в этих словах находятся рядом в раскладке QWERTY).
Английские слова
- Шаблон:Lang-en2 и Шаблон:Lang-en2 — канонические метапеременные, используемые в языке программирования Python. Это отсылка к известному скетчу «Spam» комик-группы «Монти Пайтон».
- Шаблон:Lang-en2 (иголка) и Шаблон:Lang-en2 (стог сена) могут использоваться в примерах, объясняющих синтаксис команд или функций поиска; благодаря идиоме «искать иголку в стоге сена», становится понятно, что в чём ищется.
Другие примеры
В качестве метапеременных используются: test, mum, thud, beekeeper, hoge, corge, grault, garply, waldo, kalaa, puppu, dothestuff, temp, var, sub.
Часто используемые мета-числа
- 42 часто используется как инициализатор для переменных, когда конкретное значение не важно. Число взято из произведения Дугласа Адамса «Путеводитель для путешествующих автостопом по галактике», в котором оно фигурирует как ответ на главный вопрос жизни, вселенной и всего такого.
- другие числа: 23, 47, 69, 666, 0815, 1337, 4711, DEADBEEF16.
Наличие таких чисел в выводе может указывать на логическую ошибку в программе — неинициализированную переменную.
Имена людей
- J. Random (англ. Шаблон:Lang-en2 — случайный) и Ned Baker используются для обозначения любого человека или какого-то человека из определённой группы, например «J. Random User».
- Имена Алиса (Alice) и Боб (Bob) используются, когда идёт речь о взаимодействии двух человек, например при описании применения криптографических протоколов. В качестве продолжения ряда могут использоваться Carol, Dave и т. д. Для некоторых ролей используются традиционные имена, например, Ева (Eve) — это пассивный взломщик, который может перехватывать данные, но не может их изменять, Мэллори (Mallory) — это активный взломщик, Трент (Trent) — нейтральный арбитр.
- Вася Пупкин — используется в русскоязычных текстах.
- Джон Доу (англ. Шаблон:Lang-en2) — обозначение непоименованной мужской стороны в британском судебном процессе. Для прочих лиц разного пола и возраста используются аналогичные имена на букву J.
Доменные имена
Согласно RFC 2606, в качестве метапеременных для обозначения доменных имён зарезервирован домен верхнего уровня .example и домены второго уровня example.com, example.org и example.net.
Организации
- «Рога и копыта»
- ООО «Вектор»
- ООО «Ромашка»
- Неопределённый артикль (напр. англ. Шаблон:Lang-en2, Шаблон:Lang-en2, нем. ein(e)) указывает на то, что слово обозначает какой-то предмет, не выделяя его из числа других таких же («один из», «какой-то», «любой»)
- Переменная
Информатика
- Фича (не имеет ничего общего с «фишка», так как «фича» это {{#if:en|{{#if:|{{{зачин}}} }}{{#if:||{{#switch:en
|ab=абхазск. |abq=абазинск. |af=африкаанс |akk=аккадск. |akz=алабама |ale=алеутск. |als=тоскск. |am=амхарск. |an=арагонск. |ang=др.-англ. |ani=андийск. |ar=арабск. |arc=арамейск. |av=аварск. |ae|ave=авест. |awd=аравакск. |az=азерб. |eu=баскск. |ba=башк. |bar=бав. |be=белор. |ber=берберск. |bg=болг. |bn=бенг. |bo=тибетск. |br=брет. |bs=босн. |bua=бурятск. |ca=каталанск. |ce=чеченск. |cel=галльск. |cel-pro=пракельт. |ch=чам. |chm=мар. |cho=чокт. |chu-ru=русск.-церк.-слав. |chu-sr=сербск.-церк.-слав. |chu-bg=болг.-церк.-слав. |cjs=шорск. |ckt=чук. |co=корс. |crh=кр.-тат. |cs=чешск. |csb=кашубск. |cu=ст.-слав. |cv=чувашск. |cy=валл. |da=датск. |dar=дарг. |ddo=цезск. |de=нем. |dsb=н.-луж. |dty=дотели |dum=ср.-нидерл. |egy=егип. |el=греч. |en=англ. |enm=ср.-англ. |eo=эспер. |es=исп. |et=эст. |ett=этрусск. |fa=перс. |fi=финск. |fo=фарерск. |fr=франц. |frk=др.-франкск. |frm=ср.-франц. |fro=ст.-франц. |frr=сев.-фризск. |fry=зап.-фризск. |fur=фриульск. |fy=фризск. |ga=ирл. |gag=гагаузск. |gd=гэльск. |gdo=годобер. |gem=прагерм. |gez=древнеэфиопск. |gin=гинухск. |gkm=ср.-греч. |gl=галис. |gmh=ср.-в.-нем. |gml=ср.-н.-нем. |gmy=микен. |gn=гуарани |goh=др.-в.-нем. |got=готск. |grc=др.-греч. |grc-pro|grk-pro=протогреч. |gsw=алеманнск. |gu=гуджарати |ha=хауса |haw=гавайск. |hbo=др.-евр. |hbs=сербохорв. |he=ивр. |hi=хинд. |hit=хетт. |hr=хорв. |hsb=в.-луж. |ht=гаит. |hu=венг. |hy=армянск. |id=индон. |inh=ингушск. |is=исл. |it=итал. |itl=ительм. |iu=инукт. |ja=яп. |jv=яванск. |ka=груз. |kaa=каракалп. |kas=кашм. |kg=конго |kik=кикуйю |kjh=хакас. |kk=казахск. |kky=кууку-йимитирск. |kl=гренландск. |kn=канн. |ko=корейск. |kom=коми-зыр. |koi=коми-перм. |krc=карач.-балк. |krl=карельск. |kum=кумыкск. |ky=кирг. |la=лат. |lad=сефардск. |lb=люксемб. |lez=лезг. |liv=лив. |lmo=ломбардск. |lng=лангобардск. |lo=лаосск. |lt=лит. |ltg=латг. |lv=латышск. |mad=мадурск. |mdf=мокш. |mg=малаг. |mga=ср.-ирл. |mi=маори |mic=микмакск. |mk=макед. |mn=монг. |mnc=маньчжурск. |mns=мансийск. |mnw=монск. |ms=малайск. |mt=мальтийск. |myv=эрзянск. |myz=мандейск. |na=науру |nah=науатль |niv=нивх. |nds=нж.-нем. |ne=непали |nl=нидерл. |no=норв. |non=др.-сканд. |nuk=нутка |oc=прованс. |ojp=ст.-яп. |orv=др.-русск. |os=осет. |osp=ст.-исп. |osx=др.-сакс. |ota=османск. |otk=др.-тюрк. |pa=пендж. |pap=папьям. |pcd=пикардск. |pdc=пенсильв.-нем. |peo=др.-перс. |phn=финик. |pi=пали |pie=праиндоевр. |pl=польск. |pox=полабск. |ppol=праполинез. |pro=ст.-оксит. |prg=др.-прусск. |pt=порт. |pt-BR=браз.-порт. |qu=кечуа |rm=ретором. |ro=рум. |roa-nor=нормандск. |rom=цыганск. |ru=русск. |rw=киньяруанда |sa=санскр. |sah=якутск. |sc=сард. |scn=сицил. |sco=скотс. |se=северносаамск. |see=сенека |sga=др.-ирл. |sh=сербохорв. |shh=шошонск. |sjd=кильдин-саамск. |sjt=терско-саамск. |sk=словацк. |sl=словенск. |sla-pro=праслав. |smi-pro=прасаамск. |smn=инари-саамск. |sms=коллта-саамск. |sqi|sq=алб. |sr=сербск. |sux=шумерск. |sv=шведск. |sw=суах. |syc=сирийск. |syd=самодийск. |ta=там. |tab=табасаранск. |tg=тадж. |th=тайск. |tin=тинд. |tk=туркм. |tl=тагальск. |tn=тсвана |tnq=таино |tpn=тупи |tr=тур. |trk=тюрк. |tt=тат. |ttt=татск. |txb=тохар. B |ty=таитянск. |tyv=тувинск. |udm=удм. |ug=уйгурск. |uga=угаритск. |uk=укр. |ur=урду |urj-pro=прауральск. |uz=узб. |vec=венет. |vi=вьетн. |vot=водск. |vsn=др.-инд. |xas=камас. |xal=калм. |xcl=грабар |xh=коса |xil=иллир. |xld=лидийск. |xmf=мегр. |xno=англ.-норм. |xpr=парфянск. |xpu=пуническ. |xto=тохар. A |yi=идиш |yrk=ненецк. |zh=кит. |zu=зулусск. |en.}}}}}}{{#if:feature|{{#if:en|{{#if:|| }}}}Шаблон:Aslinks{{#if:|Ошибка скрипта: Модуля «string» не существует.}}}}{{#if:| }}{{#if:| «{{{3}}}{{#if:|, {{{4}}}}}{{#if:|, {{{5}}}}}»}}{{#if:| ({{{comment}}})}}{{#if:|}}{{#if:|Шаблон:Категория}}{{#if:|Шаблон:Категория}}{{#if:|Шаблон:Категория}}, то есть возможность/функциональность), фишка (общее сленговое название необычных признаков какого-либо явления)
Культура
- To Aru Majutsu no Index (и телесериал «Некий научный Рейлган»)
- Ку (все слова (исключая обсценные) в фильме Кин-дза-дза)
География
Шаблон:Нет источников в разделе
- Мухосранск (Экземплификант)
- Тьмутаракань
- Кудыкины горы
- У черта на куличках (см. Церковь Всех Святых на Кулишках)
- Город N, Н-ск (энск))
См. также
- Имя нарицательное
- Имя собственное
- Эпоним
- Мем
- Этимология
- В рамках пространства имён Википедии: User:Example
- В англоязычной юриспруденции: Джон Доу
- Идеологема
Примечания
Литература
- Шаблон:Cite web
- Шаблон:Книга
- RFC 3092 Etymology of «Foo»