Lua: Różnice pomiędzy wersjami
M Znacznik: edytor źródłowy |
Zupomaniak (dyskusja • edycje) Znacznik: edytor źródłowy |
||
Linia 4: | Linia 4: | ||
{{cytat|<source lang="lua">local class = getmetatable(object)["__index"]</source>|Niesamowicie prosty i wygodny sposób na wykrywanie klas obiektów}} |
{{cytat|<source lang="lua">local class = getmetatable(object)["__index"]</source>|Niesamowicie prosty i wygodny sposób na wykrywanie klas obiektów}} |
||
{{cytat|<source lang="lua">local object = setmetatable({}, { ["__index"] = class })</source>|Jeszcze prostszy, jeszcze wygodniejszy sposób tworzenia obiektów}} |
{{cytat|<source lang="lua">local object = setmetatable({}, { ["__index"] = class })</source>|Jeszcze prostszy, jeszcze wygodniejszy sposób tworzenia obiektów}} |
||
{{cytat|<source lang="lua"> |
{{cytat|<source lang="lua">function f() f() end f()</source>|Najkrótszy i najłatwiejszy sposób na przepełnienie stosu}} |
||
'''Lua''' – język programowania stworzony przez grupę <del>naćpanych [[hippis]]ów</del><ref>Oni też próbowali – lecz objawił im się [[Python|Wąż]]</ref> pijanych [[Programista|programistów]] z Brazylii. Odwieczny wróg [[Python|Węża]]. |
'''Lua''' – język programowania stworzony przez grupę <del>naćpanych [[hippis]]ów</del><ref>Oni też próbowali – lecz objawił im się [[Python|Wąż]]</ref> pijanych [[Programista|programistów]] z Brazylii. Odwieczny wróg [[Python|Węża]]. |
Wersja z 23:16, 17 sty 2016
Uwaga! Jest po północy! Programisto! Czy wiesz gdzie wskazuje teraz Twój wskaźnik? |
Ten artykuł jest częścią cyklu naukowego języki komputerowe. |
Języki programowania: |
Inne języki komputerowe: |
|
edytuj ten szablon |
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 obiektów
function f() f() end f()
- Najkrótszy i najłatwiejszy sposób na przepełnienie stosu
Lua – ję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. Widząc 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 rozpoczęły się rządy Pascala, niewiele lepszego od ojca. Różnica między władcami polegała na tym, że Pascal połykał inne języki zamiast wrzucać je do Tartaru. W ten sposób zdobywał ich moce, co czyniło go jeszcze 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], przez co ze wszystkiego zrobił się jeden wielki burdel, w centrum którego C zasiadł jako władca.
Po jakimś czasie C zaczął się nudzić. Stworzył więc raj, w którym umieścił pierwsze stworzenia – Obiekta i Funkcję. Wtedy 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.
Dużo, dużo później, kilku pojebów brazylijskich informatyków stworzyło język programowania Lua, kończą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, to po prostu ma wartość
nil
. Nie martw się, my też nie wiemy co to znaczy. - To samo się tyczy elementów tabel.
- Indeksowanie liczbowe tabel zaczyna się od 1, a nie od 0. Dijkstra musi być wkurwiony nie na żarty.
- W Lua 5.2 dodano nowe słowo kluczowe,
goto
. Twórcy języka widać bardzo nie lubią Dijkstry.