Метасинтаксична зміннаМетасинтаксична змінна, метазмінна — це конкретне слово або набір слів, визначений як змінна у інформатиці та, зокрема, в комп’ютерному програмуванні . Ці слова зазвичай зустрічаються у вихідному коді і призначені для зміни або заміни перед використанням у реальному світі. Слова foo і bar є хорошими прикладами, оскільки вони використовуються в понад 330 запитах цільової групи Internet Engineering для коментарів, документах, які визначають основні інтернет-технології, такі як HTTP (веб), TCP/IP та протоколи електронної пошти . [1] [2] За математичною аналогією метасинтаксична змінна - це слово, яке є змінною для інших слів, так само як в алгебрі літери використовуються як змінні для чисел. [1] Метасинтаксичні змінні використовуються для іменування сутностей, таких як змінні, функції та команди, точна ідентичність яких не важлива, і служать лише для демонстрації концепції, яка корисна для навчання програмуванню. Поширені метасинтаксичні змінніОскільки англійська мова є основною мовою, або lingua franca, для більшості мов комп’ютерного програмування, ці змінні часто зустрічаються навіть у програмах і прикладах програм, написаних для іншої розмовної аудиторії. Однак типові назви можуть залежати від субкультури та аудиторії, що склалася навколо даної мови програмування . Загальне використанняМетасинтаксичні змінні, які зазвичай використовуються в усіх мовах програмування, включають foobar, foo, bar, baz, qux, quux, quuz, corge, grault, garply, waldo, fred, plugh, xyzzy і thud ; кілька з цих слів є посиланнями на гру Colossal Cave Adventure . [1] [3] Wibble, wobble, wubble і flob також використовуються у Великій Британії. [4] Повне посилання можна знайти в книзі MIT Press під назвою The Hacker's Dictionary . Японська мова У японській мові hoge (ほげ) [5] і piyo (ぴよ), а іншими поширеними словами та варіантами є fuga (ふが), hogera (ほげら) і hogehoge (ほげほげ). Зверніть увагу, що -ra є множинним закінченням в японській мові, а для множини також використовується дублювання. Походження hoge як метасинтаксичної змінної невідоме, але вважається, що воно датується початком 1980-х років. [6] Французька мова У Франції широко використовується слово toto, з варіантами tata, titi, tutu як пов’язаними змінними. Одним із поширених джерел використання toto є посилання на стандартний символ, який використовується, щоб розповідати жарти з Tête à Toto . Приклади використанняС У наступному прикладі ім'я функції foo і рядок імені змінної є метасинтаксичними змінними. Рядки, що починаються з "//", є коментарями. // The function named foo
int foo(void)
{
// Declare the variable bar and set the value to 1
int bar = 1;
return bar;
}
С++ Прототипи функцій із прикладами різних механізмів передачі аргументів [7] void Foo(Fruit bar);
void Foo(Fruit* bar);
void Foo(const Fruit& bar);
Приклад, що показує можливості перевантаження функцій мови C++ void Foo(int bar);
void Foo(int bar, int baz);
void Foo(int bar, int baz, int qux);
PythonSpam, ham і eggs є основними метасинтаксичними змінними, які використовуються в мові програмування Python . [8] Це посилання на відомий комедійний скетч « Спам », написаний Монті Пайтоном, епонімом мови. [9] У наступному прикладі spam, ham і eggs є метасинтаксичними змінними, а рядки, що починаються на #, є коментарями. # Define a function named spam
def spam():
# Define the variable ham
ham = "Hello World!"
# Define the variable eggs
eggs = 1
return
IETF Запити на коментаріІ RFC IETF, і мови комп’ютерного програмування відображаються у вигляді простого тексту, що робить необхідним розрізняти метасинтаксичні змінні за умовами найменування, оскільки це не буде очевидно з контексту. Ось приклад з офіційного документа IETF, що пояснює протоколи електронної пошти (з RFC 772 - цитується в RFC 3092 ): All is well; now the recipients can be specified. S: MRCP TO:<Foo@Y> <CRLF> R: 200 OK S: MRCP TO:<Raboof@Y> <CRLF> R: 553 No such user here S: MRCP TO:<bar@Y> <CRLF> R: 200 OK S: MRCP TO:<@Y,@X,fubar@Z> <CRLF> R: 200 OK Note that the failure of "Raboof" has no effect on the storage of mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z" through host "X". (Документація для texinfo підкреслює відмінність між метазмінними і простими змінними, які використовуються в мові програмування, задокументовані в якомусь файлі texinfo як: «Використовуйте команду @var для вказівки метасинтаксичних змінних. Метасинтаксична змінна — це щось, що означає інший фрагмент тексту. Наприклад, ви повинні використовувати метасинтаксичну змінну в документації функції для опису аргументів, які передаються цій функції. Не використовуйте @var для імен певних змінних у мовах програмування. Це конкретні назви програми, тому @code підходить для них.» [10] ) Інший момент, відображений у наведеному вище прикладі, — це умова, що метазмінна має бути рівномірно замінена одним і тим же екземпляром у всіх його проявах у даній схемі. Це на відміну від нетермінальних символів у формальних граматиках, де нетермінальні символи праворуч від продукції можуть бути замінені різними екземплярами. [11] Приклад данихSQLЗазвичай ім’я ACME використовується в прикладі баз даних SQL і як змінна для назви компанії з метою навчання. Термін «база даних ACME» зазвичай використовується для позначення навчального або прикладного набору даних бази даних, що використовуються виключно для навчання або тестування. ACME також зазвичай використовується в документації, яка показує приклади використання SQL, звичайну практику в багатьох навчальних текстах, а також технічній документації таких компаній, як Microsoft і Oracle . [12] [13] [14] Див. також
Примітки
Посилання
|
Portal di Ensiklopedia Dunia