Метапеременная: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м r2.7.3) (бот изменил: en:Metasyntactic variable на en:Metasyntactic variable (computing); косметические изменения
м грамматика
 
(не показано 37 промежуточных версий 30 участников)
Строка 1: Строка 1:
'''Метасинтаксические переменные''', '''метапереме́нные'''<ref>{{cite web|url=http://slovari.yandex.ru/метапеременная/правописание/|title=метапереме́нная|date=2005|work=Русский орфографический словарь|publisher=Институт русского языка им. В. В. Виноградова РАН|accessdate=2013-10-12|archiveurl=https://web.archive.org/web/20131022135753/http://slovari.yandex.ru/метапеременная/правописание/|archivedate=2013-10-22|deadlink=yes}}</ref> — слова-заменители, которые применяются в технических текстах для обозначения чего-либо, что может стоять на их месте. Метапеременные часто используются в [[программирование|программировании]].
{{К удалению|2012-11-06}}
: ''«Foobar» перенаправляется сюда. См. также статью о медиапроигрывателе [[foobar2000]], о канадском фильме [[Фубар]] и об англоязычном [[акроним]]е [[FUBAR]].''

{{Глобализировать}} <!-- статья описывает положение дел только в английском языке, хотя, например, существуют самобытные русскоязычные метапеременные в криптографии -->

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


Обычно используют осмысленные имена метапеременных. Например, описание команды переименования файла может выглядеть следующим образом:
Обычно используют осмысленные имена метапеременных. Например, описание команды переименования файла может выглядеть следующим образом:
: mv ''source'' ''target''
: mv ''source'' ''target''
Здесь ''source'' и ''target''&nbsp;— метапеременные, обозначающие имя файла до (''source'') и после (''target'') переименования. Однако часто используются и слова, не несущие смысловой нагрузки, ''foo'' является [[канон]]ическим примером.
Здесь ''source'' и ''target'' — метапеременные, обозначающие имя файла до (''source'') и после (''target'') переименования. Однако часто используются и слова, не несущие смысловой нагрузки, ''foo'' является типичным примером.


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


== Часто используемые метапеременные ==
== Часто используемые метапеременные ==


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


=== Английские слова ===
=== Английские слова ===
* ''spam'' и ''eggs'' — канонические метапеременные, используемые в [[язык программирования|языке программирования]] [[Python]]. Это ссылка на [[Монти Пайтон#.D0.A4.D0.B0.D0.BA.D1.82.D1.8B|известный скетч]] комик-группы [[Монти Пайтон]].
* {{lang-en2|spam}} и {{lang-en2|eggs}} — канонические метапеременные, используемые в [[язык программирования|языке программирования]] [[Python]]. Это отсылка к известному скетчу «[[Spam (скетч)|Spam]]» комик-группы «[[Монти Пайтон]]».
* ''needle'' (иголка) и ''haystack'' (стог сена) могут использоваться в примерах, объясняющих синтаксис команд или функций поиска; благодаря [[идиома|идиоме]] «искать иголку в стоге сена», становится понятно, что в чём ищется.
* {{lang-en2|needle}} (иголка) и {{lang-en2|haystack}} (стог сена) могут использоваться в примерах, объясняющих синтаксис команд или функций поиска; благодаря [[идиома|идиоме]] «искать иголку в стоге сена», становится понятно, что в чём ищется.


=== Другие примеры ===
=== Другие примеры ===
В качестве метапеременных используются: ''test'', ''mum'', ''thud'', ''beekeeper'', ''hoge'', ''corge'', ''grault'', ''garply'', ''waldo'', ''kalaa'', ''puppu'', ''dothestuff'', ''temp'', ''var'', ''sub''.
В качестве метапеременных используются: ''test'', ''mum'', ''thud'', ''beekeeper'', ''hoge'', ''corge'', ''grault'', ''garply'', ''[[Где Уолли?|waldo]]'', ''kalaa'', ''puppu'', ''dothestuff'', ''temp'', ''var'', ''sub''.


== Часто используемые мета-числа ==
== Часто используемые мета-числа ==
Строка 41: Строка 36:
* [[Алиса, Боб и Ева|Имена ''Алиса'' (''Alice'') и ''Боб'' (''Bob'')]] используются, когда идёт речь о взаимодействии двух человек, например при описании применения [[криптография|криптографических]] протоколов. В качестве продолжения ряда могут использоваться ''Carol'', ''Dave'' и т. д. Для некоторых ролей используются традиционные имена, например, Ева (''Eve'') — это пассивный взломщик, который может перехватывать данные, но не может их изменять, Мэллори (''Mallory'') — это активный взломщик, Трент (''Trent'') — нейтральный арбитр.
* [[Алиса, Боб и Ева|Имена ''Алиса'' (''Alice'') и ''Боб'' (''Bob'')]] используются, когда идёт речь о взаимодействии двух человек, например при описании применения [[криптография|криптографических]] протоколов. В качестве продолжения ряда могут использоваться ''Carol'', ''Dave'' и т. д. Для некоторых ролей используются традиционные имена, например, Ева (''Eve'') — это пассивный взломщик, который может перехватывать данные, но не может их изменять, Мэллори (''Mallory'') — это активный взломщик, Трент (''Trent'') — нейтральный арбитр.
* [[Вася Пупкин]] — используется в русскоязычных текстах.
* [[Вася Пупкин]] — используется в русскоязычных текстах.
* [[Джон Доу]] ({{lang-en|John Doe}}) — обозначение мужской стороны в судебном процессе.
* [[Джон Доу]] ({{lang-en|John Doe}}) — обозначение непоименованной мужской стороны в британском судебном процессе. Для прочих лиц разного пола и возраста используются аналогичные имена на букву J.


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

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

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


== Организации ==
== Организации ==
* [[Рога и копыта]]
* «Рога и копыта»
* [[ООО Вектор]]
* ООО «Вектор»
* ООО «Ромашка»


== [[Множество]] ==
== [[Множество]] ==
* [[Артикль|Неопределённый артикль]] (напр. англ. a, an, нем. ein(e)) указывает на то, что слово обозначает какой-то предмет, не выделяя его из числа других таких же («один из», «какой-то», «любой»)
* [[Артикль|Неопределённый артикль]] (напр. {{lang-en|a}}, {{lang-en2|an}}, {{lang-de|ein(e)}}) указывает на то, что слово обозначает какой-то предмет, не выделяя его из числа других таких же («один из», «какой-то», «любой»)
* [[Переменная]]
* [[Переменная величина|Переменная]]


== Информатика ==
== Информатика ==
* [[Фича]], [[фишка]] (общее сленговое название необычных признаков какого-либо явления)
* [[Фича]] (не имеет ничего общего с «фишка», так как «фича» это {{lang|en|feature}}, то есть возможность/функциональность), [[фишка]] (общее сленговое название необычных признаков какого-либо явления)


== Культура ==
== Культура ==
* [[To Aru Majutsu no Index]] (и телесериал [[To Aru Kagaku no Railgun|«Некий научный Рейлган»]])
* [[To Aru Majutsu no Index]] (и телесериал «[[To Aru Kagaku no Railgun|Некий научный Рейлган]]»)
* Ку (все слова (исключая [[Обсценная лексика|обсценные]]) в фильме [[Кин-дза-дза]])


== География ==
== География ==
Строка 69: Строка 62:
* [[Тьмутаракань]]
* [[Тьмутаракань]]
* [[Кудыкины горы]]
* [[Кудыкины горы]]
* [[Куличики (значения)|У черта на куличках]] (см. [[Церковь Всех Святых на Кулишках]])
* У черта на [[Кулички|куличках]] (см. [[Церковь Всех Святых на Кулишках]])
* [[Город N|Город N, Н-ск (энск))]]
* [[Город N|Город N, Н-ск (энск))]]


Строка 82: Строка 75:
* [[Идеологема]]
* [[Идеологема]]


== Ссылки ==
== Примечания ==
{{примечания}}
RFC 3092 Etymology of «Foo»

<blockquote> Approximately 212 RFCs, or about 7 % of RFCs issued so far, starting
== Литература ==
with [RFC269], contain the terms `foo', `bar', or `foobar' used as a
* {{cite web|url=http://slovar-vocab.com/english/jargon-vocab/metasyntactic-variable-6046042.html|title=METASYNTACTIC VARIABLE|quote=A name used in examples and understood to stand for whatever thing is under discussion, or any random member of a class of things under discussion.|date=2012|work=Jargon File English vocabulary|accessdate=2013-10-12|archiveurl=https://web.archive.org/web/20130822062012/http://slovar-vocab.com/english/jargon-vocab/metasyntactic-variable-6046042.html|archivedate=2013-08-22}}
metasyntactic variable without any proper explanation or definition.
* {{книга|автор=А.А. Вылиток|заглавие=Металингвистические формулы и синтаксические диаграммы|ссылка=http://www.al.cs.msu.su/files/metalinguistic.formulas.syntactic.diagrams.pdf|место=М.|издательство=Издательский отдел Факультета ВМ К МГУ им. М.В. Ломоно сова|год=20 12|страниц=24|isbn=978-5-89 407-484-9}} {{Wayback|url=http://www.al.cs.msu.su/files/metalinguistic.formulas.syntactic.diagrams.pdf |date=20131014110842 }}
This may seem trivial, but a number of newcomers, especially if
* RFC 3092 Etymology of «Foo»
English is not their native language, have had problems in
understanding the origin of those terms. This document rectifies
that deficiency.</blockquote>


[[Категория:Программирование]]
[[Категория:Программирование]]
[[Категория:Переменная (программирование)]]
[[Категория:Переменная (программирование)]]

[[de:Metasyntaktische Variable]]
[[en:Metasyntactic variable (computing)]]
[[fr:Variable métasyntaxique]]
[[he:משתנה מטה-תחבירי]]
[[it:Variabile metasintattica]]
[[ja:メタ構文変数]]
[[nl:Metasyntactische variabele]]
[[pl:Zmienna metasyntaktyczna]]
[[sv:Metavariabel]]

Текущая версия от 20:11, 7 ноября 2023

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

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

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).

Английские слова

[править | править код]
  • spam и eggs — канонические метапеременные, используемые в языке программирования Python. Это отсылка к известному скетчу «Spam» комик-группы «Монти Пайтон».
  • 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) — обозначение непоименованной мужской стороны в британском судебном процессе. Для прочих лиц разного пола и возраста используются аналогичные имена на букву J.

Доменные имена

[править | править код]

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

Организации

[править | править код]
  • «Рога и копыта»
  • ООО «Вектор»
  • ООО «Ромашка»

Информатика

[править | править код]
  • Фича (не имеет ничего общего с «фишка», так как «фича» это feature, то есть возможность/функциональность), фишка (общее сленговое название необычных признаков какого-либо явления)

Примечания

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

Литература

[править | править код]
  • METASYNTACTIC VARIABLE. Jargon File English vocabulary (2012). — «A name used in examples and understood to stand for whatever thing is under discussion, or any random member of a class of things under discussion.» Дата обращения: 12 октября 2013. Архивировано 22 августа 2013 года.
  • А.А. Вылиток. Металингвистические формулы и синтаксические диаграммы. — М.: Издательский отдел Факультета ВМ К МГУ им. М.В. Ломоно сова, 20 12. — 24 с. — ISBN 978-5-89 407-484-9. Архивная копия от 14 октября 2013 на Wayback Machine
  • RFC 3092 Etymology of «Foo»