Zmienna metasyntaktyczna

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

Zmienna metasyntaktyczna – zwyczajowa nazwa zmiennej używana w przykładach programistycznych, np foo, bar.

Spis treści

[edytuj] Opis zmiennej

Zmienna foo jest ogólnie przyjętym przykładem. Użycie zmiennych metasyntaktycznych bywa pomocą dla programisty, który nie jest zmuszony wymyślać logicznej nazwy zmiennej dla danej dyskusji.

Zmienne metasyntaktyczne zwane są tak z kilku powodów:

  1. są zmiennymi w metajęzyku używanym do dyskusji nt. programowania etc. (pseudokod);
  2. są zmiennymi, których wartości są często używane jako zmienne ("wartość f (foo, bar) jest równa sumie foo i bar").

Jakkolwiek prawdopodobnym jest, że prawdziwym powodem powstania takiego terminu jest jego chwytliwe (tj. fachowe do przesady) brzmienie: nazwa zmienna metasyntaktyczna należy do żargonu komputerowego.

[edytuj] Przykłady

[edytuj] Foo i Bar

Foo jest najczęściej używaną nazwą zmiennej. Czasem jest łączona z bar (tworząc foobar).

Może to sugerować etymologię słowa foo z żargonu II wojny światowej jako akronimu fucked/fouled up beyond all recognition, aczkolwiek Plik Żargonu Komputerowego datuje termin jeszcze wcześniej. Słowo foo było również użyte jako bezsensowny zwrot w surrealistycznym cyklu Smokey Stover, popularnym programie rozrywkowym lat czterdziestych i pięćdziesiątych w USA. Etymologię słowa definiuje dokument RFC 3092.

[edytuj] Spam i Eggs

Spam i eggs są kanonicznymi zmiennymi metasyntaktycznymi używanymi w Pythonie. Nawiązują one do słynnego skeczu Latającego Cyrku Monty Pythona (zobacz też: spam).

[edytuj] Needle i haystack

Często w funkcjach wyszukujących poszukiwany wzór nazywany jest needle (igła) a przeszukiwany zbiór haystack (stóg siana), co ma odnosić się do idiomu szukać igły w stogu siana. Konwencja ta jest powszechnie używana w oficjalnej dokumentacji języka PHP.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Dla czytelników
Dla wikipedystów
Narzędzia
Drukuj lub eksportuj
W innych językach