Lua
local class = getmetatable(object)["__index"]
- Niesamowicie prosty i wygodny sposób na wykrywanie klas obiektów
local object = setmetatable({}, { ["__index"] = class })
- Jeszcze prostszy, jeszcze wygodniejszy sposób tworzenia objektów
(function f() f() end)()
- Najkrótszy i najłatwiejszy sposób na przepełnienie stosu
Szablon:Tjęzyk programowania stworzony przez grupę naćpanych hippisów[1] pijanych programistów z Brazylii. Odwieczny wróg Węża.
Historia
Na początku był Chaos. Z chaosu wyłoniły się pierwsze języki programowania – Fortran i Ada. Pojawiły się też inne języki – Fortran jednak strącił je wszystkie do Tartaru. No to Ada się wkurwiła, i namówiła ich syna, Pascala, aby przemówił Fortranowi do rozumu. Pascal nie zastanawiał się długo – uzbrojony w programowanie strukturalne, pozbawił ojca władzy.
Tak o to rozpoczęły się rządy Pascala, niewiele lepszego od ojca. Pascal jednak, zamiast wrzucać inne języki do Tartaru – połykał je. W ten sposób zdobywał ich moce, co czyniło go lepszym językiem.
Jego żonie, Forth, najwyraźniej w smak to nie było, bo ukryła przed Pascalem jego młodego syna, C. Młody dorósł szybko, i wkrótce obalił okrutnego Pascala. Wyswobodził wtedy inne języki z jego jelit[2], tak że zrobił się ze wszystkiego jeden wielki burdel, w centrum którego zasiadł jako władca.
Po jakimś czasie, C zaczął się nudzić. Stworzył więc raj, w którym postawił pierwsze stworzenia – Obiekta i Funkcję. Wtedy to jednak przyszedł Wąż, i wszystko porozpierdalał. Wkurwiony nie na żarty C wygnał Obiekta i Funkcję na planetę Ziemię, a Wężowi powiedział że kiedyś przyjdzie ktoś, kto zrobi z nim porządek.
Dwie ery później, kilku pojebów brazylijskich informatyków stworzyło język programowania Lua, zakańczając erę ciemności i panowanie Węża.
Cechy
- Nie ma klas, obiektów, tablic, słowników – wszystko to zastępuje uniwersalna tabela (
table
). Mówiąc po ludzku, wszystko jeden chuj.
- Jeżeli jakaś zmienna nie jest zadeklarowana po prostu ma wartość
nil
. Nie martw się, ja też nie wiem co to znaczy.
- To samo się tyczy elementów tabel.
- Indeksowanie liczbowe tabel zaczyna się od 1, a nie od 0. Dijkstra nas wyśle za to do piekła, zobaczycie!
- W Lua 5.2 dodano nowe słowo kluczowe,
goto
. Dijkstra nas teraz nienawidzi.