- 1
- 2
- 3
- 4
govno = {10}
a = {5}
setmetatable(a, {__add = function(x,y) return x[1] * y[1] end})
print(a+govno) -- 50
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+24
govno = {10}
a = {5}
setmetatable(a, {__add = function(x,y) return x[1] * y[1] end})
print(a+govno) -- 50
плохо что работает только с таблицами
Две таблицы Говно и А, в них находится в первой ячейке значения.
Далее А назначается метатаблицой и присваивается метаметод который отвечает за + из созданой "безимяной" таблицы. Это нужно если вдруг таблицу А начнут складывать, то вызовится соответствующий метаметод, в котором указано что нужно делать, в данном случае это умножить первый элемент таблицы на первый элемент другой таблицы
Переходи на тёмную сторону кресты. Там ты сможешь приказывать даже запятой.
полноценный язык ТоТ который не существует
чушь
дай-ка мне определение полноценного языка
Мое определение таково: ЯП является тьюринг-полным, не эзотерическим, и не ПХП
гугл показал мне http://a2ch.ru/i/027a9cba0b6adf1f59d45c93ce11ff34
Типа:
"Ха смотри я прибавляю таблицу, а происходит ядерный трипездец. Крута да?"
Даже наверное сам Роберту не знает нахуя они нужны.
А все просто, они нужны лишь для удобства.
Вот тогда нам может помочь метатаблица с любым метаметодом какой вам понравится
Ну как и перегрузка методов в пистоне, для реализации DSL.
Вот, например, классический пример:
http://www.inf.puc-rio.br/~roberto/lpeg/
А еще внезапно он быстрее питона, и жрет меньше.
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=lua&lang2=python3
Почему 80% не сделать на c, а пистоном просто глукодить?
что, правда Python бы тормозил , а lua бы летал в этом моде?
можно даже на брейнфаке написать компилятор языка брейнфак под платформу Z80/Spectrum
только можно устать очень
В свое время писал плагин для wireshark-а
Это очень важно. А еще в нем нету встроенной библиотеки. Вообще. Даже для битовых операций нужны внешние модули. И нахуй он после этого нужен?