Co oznacza „foo”? [Zamknięte]

19

Byłem tu około 4 miesięcy i kilka razy widziałem, że ludzie używają, fooale nie wiem, co to znaczy. Chciałbym, aby inni wyjaśnili mi tę zmienną ...

Dlaczego to jest ważne? Jak z tego korzystać? Kiedy go używam? Jak mogłem z tego skorzystać?

Czytam na wikipedii coś o zmiennej metasyntaktycznej, ale nie rozumiem, co to znaczy.

poz2k4444
źródło
6
Nie sądzę, że możesz zrobić coś lepszego niż „nazwa zastępcza lub alias powszechnie używany do oznaczenia dowolnej rzeczy lub arbitralnego członka klasy rzeczy będących przedmiotem dyskusji”. To jest jak „to” lub „tamto”.
David Schwartz
Tego rodzaju pytanie prawdopodobnie należy do Stackoverflow. Nie jest też związany z Linuksem ani z żadnym innym systemem operacyjnym.
Mark Allen
8
Nie znalazłeś w Google swojego dokładnego pytania ? Drugi wynik to dokładnie Twoja odpowiedź.
enderland
2
@ poz2k4444: Dostaję pierwszą część, nie byłoby sensu mieć tych pytań na tej stronie, gdyby nie było pożytku dla większej społeczności. Mam jednak problem ze zrozumieniem, w jaki sposób ten temat może być tutaj na temat najczęściej zadawanych pytań. foojest terminem ściśle używanym przez programistów i w kodzie, i z perspektywy użytkownika jest bardzo związany z oprogramowaniem i sprzętem komputerowym.
TFM
2
Istnieje wiele duplikatów tego pytania i tutaj jest to naprawdę nie na temat. Zobacz: Co oznacza „foo”? , Co tak naprawdę oznacza „foo”? , Co to jest foo? co to znaczy foo? , Jaka jest historia użycia „foo” i „bar” w przykładach kodu źródłowego? , Foobar - Wikipedia - nie ma sensu kopiować tego jeszcze raz, migrując go gdzie indziej, przepraszam.
slhck 24.01.2013

Odpowiedzi:

26

RFC 3092: Etymologia „Foo” Pokazuje to w narysowany sposób, w jaki sposób Foo pierwotnie miał zostać sparowany z paskiem, aby utworzyć foobar (AKA Fubar). Terminy te najlepiej nadają się do pseudo lub fałszywego kodowania. Są również przydatne w przykładach, aby umożliwić wszystkim dość łatwe śledzenie zmiennych. Oto link do Wikipedii !

Ryan M.
źródło
1
Google jest twoim przyjacielem
Ryan M
Próbowałem google go, ale nie wiedziałem, jak ... +1 dla RFC
poz2k4444
1
Wszystko jest w porządku, na szczęście ludzie wydają się być dużo bardziej zrelaksowani na tej stronie niż na niektórych innych stronach stosów.
Ryan M
1
Tak!! Jeśli wyjaśnisz więcej swojej odpowiedzi, wybiorę twoją dla odniesienia RFC ...
poz2k4444
Właśnie to zredagowałem, więc zobaczymy, czy moje zrobi cięcie! (kciuki!)
Ryan M
7

Gdy ktoś chce podać przykładowy kod, foozwykle jest używany jako sposób na powiedzenie „umieść rzeczywistą nazwę zmiennej / funkcji / klasy, której użyjesz tutaj”.

SethMMorton
źródło
7

Z powiązanego artykułu w Wikipedii:

„zmienna metasyntaktyczna” jest synonimem „słowa bez znaczenia”

To tylko nonsensowne słowo, kiedy trzeba nazwać zmienną lub funkcję, ale rzeczywista nazwa nie ma znaczenia. Naprawdę używany tylko do demonstracji fragmentów kodu. NIGDY nie używaj go w prawdziwym kodzie.

techturtle
źródło
Wybrane nazwy prawie zawsze mają znaczenie w rzeczywistym użyciu. fooczęsto oznacza „musisz wybrać tutaj nazwę i może to mieć znaczenie, aw innych miejscach, w których foo pojawia się w tym samym przykładzie, musisz użyć tej samej nazwy”.
Kaz
4

Krótko mówiąc, „foo” i „bar” to po prostu symbole zastępcze dla posiadanych informacji, takich jak nazwa użytkownika, hasło, zmienna itp.

Primm
źródło
4

Jest to komputerowy odpowiednik psa o imieniu „Spot”, kota o imieniu „Puss”, człowieka o imieniu „John Smith” (bez obrazy dla tłumów, których tak naprawdę nazywa się), a nawet ryby o nazwie „Wanda” .

Jeśli chcesz użyć nazwy ogólnej w „computerpeak”, często używasz jednego z foo, barlub baz. Użycie foozwykle oznacza zmienną / funkcję / cokolwiek, którego nazwa nie jest ważna i może zostać zmieniona. Tak więc, jeśli odpowiem na pytanie dotyczące SU, używając foonazwy mojej zmiennej, będziesz wiedział, że możesz swobodnie zmieniać foona cokolwiek innego, na co masz ochotę.

Nie jest to , jak się powszechnie przyjmuje, skrót od Fie Obfuscating Oenophiles.

terdon
źródło
3

Zmienne metasyntaktyczne to zmienne, których wartości są rozumiane jako fragmenty składni (ewentualnie nazwy innych zmiennych, które są składnią). Występują w formułach, które działają na składni, podobnie jak meta-składnia.

Rozważmy na przykład S V O(obiekt czasownika podmiotowego) wyrażenie wskazujące na podstawową kolejność słów w pewnym języku ludzkim. Te trzy litery są zmiennymi meta-syntaktycznymi. Każdy z nich oznacza jakąś składnię. Temat zdania może być złożonym wyrażeniem rzeczownikowym i tak dalej. Ponadto litery te są wybierane w sposób znaczący w dziedzinie problematyki językowej: Sskrót od podmiotu i tak dalej.

fooi barmożna je uznać za metasyntaktyczne w tym sensie, że służą jako symbole zastępcze dla prawdziwych nazwisk, które mają zostać wymyślone przez użytkownika. Te szczególne nazwy mają znaczenie w dziedzinie problematycznej polegającej na pisaniu przykładów kodu w dokumentacji komputerowej, gdzie są natychmiast rozpoznawalne, jak starzy znajomi. Paradoksalnie foowyraża to: „Jestem sławny, że nie mam sensu. Gdziekolwiek mnie zobaczysz, zamień mnie na coś, co ma jedno!”, I to jest jego znaczenie.

Rozumie się również, że w przypadku gdy oba pojawiają się fooi bar, użytkownik musi zastąpić odrębne symbole, a gdy foopojawia się więcej niż jeden raz w tym samym przykładzie, wszystkie wystąpienia muszą być konsekwentnie zastępowane tym samym identyfikatorem.

fooi bardziałają, o ile nie kolidują z niczym w języku komputerowym, takimi jak wbudowane polecenia, słowa kluczowe lub nazwy ważnych funkcji lub zmiennych bibliotecznych. Jeśli tak się stanie, poziomy składni i meta-składni stają się mylące. Jeśli projektujesz nowy język, musisz unikać wprowadzania fooi używania barznaczących identyfikatorów w tym języku.

Słowa foo i bar mają etymologię, ale ta etymologia nie jest związana z ich znaczeniem w dokumentacji komputerowej.

Kaz
źródło
Ładne wyjaśnienie zwykłym angielskim. :) +1
John Siu
2

Jest praktycznie używany tylko dla przykładów, naprawdę ... zamiast zmiennych, których chcesz użyć ... ale jeśli chcesz dowiedzieć się więcej ... tutaj ...:

FOO :

  Forward Observation Observer.

  FOO Of Oberlin.  An organization whose name is a recursive
  acronym.  Motto: The FOO, the Proud, the FOO.  See
  <http://cs.oberlin.edu/students/jmankoff/FOO/home.html>.

  File Open for Output.

.. Fajne pytanie .. I to jest bardzo ważne dla ludzi wchodzących do całego świata informatycznego, ponieważ jest to przykład, który jest wszędzie i jeśli nie wiesz nic o niczym, możesz popaść w błąd, dopóki go nie dostaniesz foojest przykładem ...

Masz różne alternatywy ... ale to część tego samego pochodzenia historii! ...

Oto RFC ! więc sprawdź to. Bardzo przydatne do tego.

Jest też wytłumaczenie bar(na ogół wywodzi się z akronimu slangu armii FUBAR z czasów II wojny światowej ...)

Szybkie wyszukiwanie w Google może rozwiązać szybkie pytanie, zobacz ten artykuł w Wikipedii:

.. Początki tych terminów nie są znane z całą pewnością, a kilka anegdotycznych teorii zostało rozwiniętych w celu ich identyfikacji. Pierwsze znane użycie drukowanych terminów pojawiło się w wydaniu MIT „Tech Engineering News” z 1965 roku. Foobar mógł pochodzić od akronimu wojskowego FUBAR i zyskał popularność, ponieważ wymawia się go tak samo ...

Jest to interesujące i zawiera pewne informacje, których możesz użyć do ponownego opublikowania.

Mam nadzieję, że to pomoże!

AAlvz
źródło
1

Foo to nazwa zmiennej używana dla dowolnego rodzaju zmiennej, gdy sama nazwa nie jest ważna. Jeśli pamiętasz matematyczne problemy ze słowami, pójdą one: Pan Smith ma 10 USD, a Jones 20 USD, Jeśli Jones daje Smithowi 5 USD, ile ma Pan Smith? Smith i Jones i tylko nazwiska. Foo jest podobny, to tylko nazwa zmiennej, ponieważ potrzebujesz nazwy dla przykładu, aby mieć sens.

chrisfs
źródło