Метасинтаксична змінна, метазмінна — це конкретне слово або набір слів, визначений як змінна у інформатиці та, зокрема, в комп’ютерному програмуванні . Ці слова зазвичай зустрічаються у вихідному коді і призначені для зміни або заміни перед використанням у реальному світі. Слова foo і bar є хорошими прикладами, оскільки вони використовуються в понад 330 запитах цільової групи Internet Engineering для коментарів, документах, які визначають основні інтернет-технології, такі як HTTP (веб), (TCP/IP) та протоколи електронної пошти .
За математичною аналогією метасинтаксична змінна - це слово, яке є змінною для інших слів, так само як в алгебрі літери використовуються як змінні для чисел.
Метасинтаксичні змінні використовуються для іменування сутностей, таких як змінні, функції та команди, точна ідентичність яких не важлива, і служать лише для демонстрації концепції, яка корисна для навчання програмуванню.
Поширені метасинтаксичні змінні
Оскільки англійська мова є основною мовою, або lingua franca, для більшості мов комп’ютерного програмування, ці змінні часто зустрічаються навіть у програмах і прикладах програм, написаних для іншої розмовної аудиторії.
Однак типові назви можуть залежати від субкультури та аудиторії, що склалася навколо даної мови програмування .
Загальне використання
Метасинтаксичні змінні, які зазвичай використовуються в усіх мовах програмування, включають foobar, foo, bar, baz, qux, quux, quuz, corge, grault, garply, waldo, fred, plugh, xyzzy і thud ; кілька з цих слів є посиланнями на гру Colossal Cave Adventure . Wibble, wobble, wubble і flob також використовуються у Великій Британії.
Повне посилання можна знайти в книзі MIT Press під назвою The Hacker's Dictionary .
Японська мова
У японській мові hoge (ほげ) і piyo (ぴよ), а іншими поширеними словами та варіантами є fuga (ふが), hogera (ほげら) і hogehoge (ほげほげ). Зверніть увагу, що -ra є множинним закінченням в японській мові, а для множини також використовується дублювання. Походження hoge як метасинтаксичної змінної невідоме, але вважається, що воно датується початком 1980-х років.
Французька мова
У Франції широко використовується слово 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; }
С++ Прототипи функцій із прикладами різних механізмів передачі аргументів
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);
Python
Spam, ham і eggs є основними метасинтаксичними змінними, які використовуються в мові програмування Python . Це посилання на відомий комедійний скетч « Спам », написаний Монті Пайтоном, епонімом мови. У наступному прикладі 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 підходить для них.» )
Інший момент, відображений у наведеному вище прикладі, — це умова, що метазмінна має бути рівномірно замінена одним і тим же екземпляром у всіх його проявах у даній схемі. Це на відміну від нетермінальних символів у формальних граматиках, де нетермінальні символи праворуч від продукції можуть бути замінені різними екземплярами.
Приклад даних
SQL
Зазвичай ім’я ACME використовується в прикладі баз даних SQL і як змінна для назви компанії з метою навчання. Термін «база даних ACME» зазвичай використовується для позначення навчального або прикладного набору даних бази даних, що використовуються виключно для навчання або тестування. ACME також зазвичай використовується в документації, яка показує приклади використання SQL, звичайну практику в багатьох навчальних текстах, а також технічній документації таких компаній, як Microsoft і Oracle .
Див. також
Примітки
- [[[:Шаблон:Cite IETF/makelink]] Etymology of "Foo"]. doi:10.17487/RFC3092. .
- . RFC Editor. Архів оригіналу за 19 грудня 2021. Процитовано 13 грудня 2021.
- Laughlin, Stuart (18 листопада 2016). (Список розсилки). Архів оригіналу за 2 травня 2021. Процитовано 13 грудня 2021.
- wibble. (n.d.). Jargon File 4.4.7. Retrieved February 23, 2010, from
- . ejje.weblio.jp. Архів оригіналу за 13 грудня 2021. Процитовано 13 грудня 2021.
- メタ構文変数 (яп.)
- Mongan, John; Kindler, Noah; Giguere, Eric (2012). . John Wiley & Sons. с. 242. ISBN . Архів оригіналу за 13 грудня 2021. Процитовано 13 грудня 2021.
- . docs.python.org. Архів оригіналу за 13 травня 2022. Процитовано 13 грудня 2021.
- . docs.python.org. Python Software Foundation. 4 вересня 2021. Why is it called Python?. Архів оригіналу за 26 серпня 2021. Процитовано 5 вересня 2021.
- . Texinfo 4.0. The GNU Documentation Format. Архів оригіналу за 6 листопада 2009. Процитовано 25 листопада 2012.
- R. D. Tennent (2002). Specifying Software: A Hands-On Introduction. Cambridge University Press. с. 36–37 and 210. ISBN .
- Kriegel, Alex (2008). SQL bible. Wiley. ISBN . OCLC 402446308.
- Ruel, Chris (2014). Oracle 12c for dummies (дан.). John Wiley & Sons. ISBN . OCLC 870334544.
- . docs.microsoft.com. Архів оригіналу за 13 грудня 2021. Процитовано 13 грудня 2021.
Посилання
- Визначення метасинтаксичної змінної з прикладами.
- Приклади метасинтаксичних змінних, що використовуються в Commonwealth Hackish, наприклад вомбат .
- Змінна "foo" та інші дивацтва програмування
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya pro metasintaksichni zminni v informatici ta programuvanni Pro metasintaksichni zminni yaki vikoristovuyut u formalnij logici ta pro vikoristannya v rozmovnih movah div ta Ekzemplifikant Metasintaksichna zminna metazminna ce konkretne slovo abo nabir sliv viznachenij yak zminna u informatici ta zokrema v komp yuternomu programuvanni Ci slova zazvichaj zustrichayutsya u vihidnomu kodi i priznacheni dlya zmini abo zamini pered vikoristannyam u realnomu sviti Slova foo i bar ye horoshimi prikladami oskilki voni vikoristovuyutsya v ponad 330 zapitah cilovoyi grupi Internet Engineering dlya komentariv dokumentah yaki viznachayut osnovni internet tehnologiyi taki yak HTTP veb TCP IP ta protokoli elektronnoyi poshti Za matematichnoyu analogiyeyu metasintaksichna zminna ce slovo yake ye zminnoyu dlya inshih sliv tak samo yak v algebri literi vikoristovuyutsya yak zminni dlya chisel Metasintaksichni zminni vikoristovuyutsya dlya imenuvannya sutnostej takih yak zminni funkciyi ta komandi tochna identichnist yakih ne vazhliva i sluzhat lishe dlya demonstraciyi koncepciyi yaka korisna dlya navchannya programuvannyu Poshireni metasintaksichni zminniOskilki anglijska mova ye osnovnoyu movoyu abo lingua franca dlya bilshosti mov komp yuternogo programuvannya ci zminni chasto zustrichayutsya navit u programah i prikladah program napisanih dlya inshoyi rozmovnoyi auditoriyi Odnak tipovi nazvi mozhut zalezhati vid subkulturi ta auditoriyi sho sklalasya navkolo danoyi movi programuvannya Zagalne vikoristannya Metasintaksichni zminni yaki zazvichaj vikoristovuyutsya v usih movah programuvannya vklyuchayut foobar foo bar baz qux quux quuz corge grault garply waldo fred plugh xyzzy i thud kilka z cih sliv ye posilannyami na gru Colossal Cave Adventure Wibble wobble wubble i flob takozh vikoristovuyutsya u Velikij Britaniyi Povne posilannya mozhna znajti v knizi MIT Press pid nazvoyu The Hacker s Dictionary Yaponska mova U yaponskij movi hoge ほげ i piyo ぴよ a inshimi poshirenimi slovami ta variantami ye fuga ふが hogera ほげら i hogehoge ほげほげ Zvernit uvagu sho ra ye mnozhinnim zakinchennyam v yaponskij movi a dlya mnozhini takozh vikoristovuyetsya dublyuvannya Pohodzhennya hoge yak metasintaksichnoyi zminnoyi nevidome ale vvazhayetsya sho vono datuyetsya pochatkom 1980 h rokiv Francuzka mova U Franciyi shiroko vikoristovuyetsya slovo toto z variantami tata titi tutu yak pov yazanimi zminnimi Odnim iz poshirenih dzherel vikoristannya toto ye posilannya na standartnij simvol yakij vikoristovuyetsya shob rozpovidati zharti z Tete a Toto Prikladi vikoristannyaZnimok ekrana metasintaksichnoyi zminnoyi FOO priznachenoyi ta vidtvorenoyi v interaktivnomu seansi obolonki S U nastupnomu prikladi im ya funkciyi foo i ryadok imeni zminnoyi ye metasintaksichnimi zminnimi Ryadki sho pochinayutsya z ye komentaryami The function named foo int foo void Declare the variable bar and set the value to 1 int bar 1 return bar S Prototipi funkcij iz prikladami riznih mehanizmiv peredachi argumentivvoid Foo Fruit bar void Foo Fruit bar void Foo const Fruit amp bar Priklad sho pokazuye mozhlivosti perevantazhennya funkcij movi C void Foo int bar void Foo int bar int baz void Foo int bar int baz int qux Python Spam ham i eggs ye osnovnimi metasintaksichnimi zminnimi yaki vikoristovuyutsya v movi programuvannya Python Ce posilannya na vidomij komedijnij sketch Spam napisanij Monti Pajtonom eponimom movi U nastupnomu prikladi spam ham i eggs ye metasintaksichnimi zminnimi a ryadki sho pochinayutsya na ye komentaryami Define a function named spam def spam Define the variable ham ham Hello World Define the variable eggs eggs 1 return IETF Zapiti na komentari I RFC IETF i movi komp yuternogo programuvannya vidobrazhayutsya u viglyadi prostogo tekstu sho robit neobhidnim rozriznyati metasintaksichni zminni za umovami najmenuvannya oskilki ce ne bude ochevidno z kontekstu Os priklad z oficijnogo dokumenta IETF sho poyasnyuye protokoli elektronnoyi poshti z RFC 772 cituyetsya v RFC 3092 All is well now the recipients can be specified S MRCP TO lt Foo Y gt lt CRLF gt R 200 OK S MRCP TO lt Raboof Y gt lt CRLF gt R 553 No such user here S MRCP TO lt bar Y gt lt CRLF gt R 200 OK S MRCP TO lt Y X fubar Z gt lt CRLF gt 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 Dokumentaciya dlya texinfo pidkreslyuye vidminnist mizh metazminnimi i prostimi zminnimi yaki vikoristovuyutsya v movi programuvannya zadokumentovani v yakomus fajli texinfo yak Vikoristovujte komandu var dlya vkazivki metasintaksichnih zminnih Metasintaksichna zminna ce shos sho oznachaye inshij fragment tekstu Napriklad vi povinni vikoristovuvati metasintaksichnu zminnu v dokumentaciyi funkciyi dlya opisu argumentiv yaki peredayutsya cij funkciyi Ne vikoristovujte var dlya imen pevnih zminnih u movah programuvannya Ce konkretni nazvi programi tomu code pidhodit dlya nih Inshij moment vidobrazhenij u navedenomu vishe prikladi ce umova sho metazminna maye buti rivnomirno zaminena odnim i tim zhe ekzemplyarom u vsih jogo proyavah u danij shemi Ce na vidminu vid neterminalnih simvoliv u formalnih gramatikah de neterminalni simvoli pravoruch vid produkciyi mozhut buti zamineni riznimi ekzemplyarami Priklad danihSQL Zazvichaj im ya ACME vikoristovuyetsya v prikladi baz danih SQL i yak zminna dlya nazvi kompaniyi z metoyu navchannya Termin baza danih ACME zazvichaj vikoristovuyetsya dlya poznachennya navchalnogo abo prikladnogo naboru danih bazi danih sho vikoristovuyutsya viklyuchno dlya navchannya abo testuvannya ACME takozh zazvichaj vikoristovuyetsya v dokumentaciyi yaka pokazuye prikladi vikoristannya SQL zvichajnu praktiku v bagatoh navchalnih tekstah a takozh tehnichnij dokumentaciyi takih kompanij yak Microsoft i Oracle Div takozh en en Alisa i Bob Dzhon Dou Virib Vilni i zv yazani zminni Gadzhet Ekzemplifikant Lorem ipsum Okazionalizm filologiya Smurf en Primitki Shablon Cite IETF makelink Etymology of Foo doi 10 17487 RFC3092 RFC Editor Arhiv originalu za 19 grudnya 2021 Procitovano 13 grudnya 2021 Laughlin Stuart 18 listopada 2016 Spisok rozsilki Arhiv originalu za 2 travnya 2021 Procitovano 13 grudnya 2021 wibble n d Jargon File 4 4 7 Retrieved February 23 2010 from ejje weblio jp Arhiv originalu za 13 grudnya 2021 Procitovano 13 grudnya 2021 メタ構文変数 yap Mongan John Kindler Noah Giguere Eric 2012 John Wiley amp Sons s 242 ISBN 978 1 118 28720 0 Arhiv originalu za 13 grudnya 2021 Procitovano 13 grudnya 2021 docs python org Arhiv originalu za 13 travnya 2022 Procitovano 13 grudnya 2021 docs python org Python Software Foundation 4 veresnya 2021 Why is it called Python Arhiv originalu za 26 serpnya 2021 Procitovano 5 veresnya 2021 Texinfo 4 0 The GNU Documentation Format Arhiv originalu za 6 listopada 2009 Procitovano 25 listopada 2012 R D Tennent 2002 Specifying Software A Hands On Introduction Cambridge University Press s 36 37 and 210 ISBN 978 0 521 00401 5 Kriegel Alex 2008 SQL bible Wiley ISBN 978 0 470 22906 4 OCLC 402446308 Ruel Chris 2014 Oracle 12c for dummies dan John Wiley amp Sons ISBN 978 1 118 74531 1 OCLC 870334544 docs microsoft com Arhiv originalu za 13 grudnya 2021 Procitovano 13 grudnya 2021 PosilannyaViznachennya metasintaksichnoyi zminnoyi z prikladami Prikladi metasintaksichnih zminnih sho vikoristovuyutsya v Commonwealth Hackish napriklad vombat Zminna foo ta inshi divactva programuvannya