- 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
плохо что работает только с таблицами
kerman 15.05.2016 23:31 # +2
3_dar 15.05.2016 23:48 # +2
Sfabrikan 16.05.2016 00:11 # 0
Две таблицы Говно и А, в них находится в первой ячейке значения.
Далее А назначается метатаблицой и присваивается метаметод который отвечает за + из созданой "безимяной" таблицы. Это нужно если вдруг таблицу А начнут складывать, то вызовится соответствующий метаметод, в котором указано что нужно делать, в данном случае это умножить первый элемент таблицы на первый элемент другой таблицы
guest 16.05.2016 23:06 # 0
bormand 16.05.2016 23:08 # +2
Переходи на тёмную сторону кресты. Там ты сможешь приказывать даже запятой.
guest 16.05.2016 23:13 # 0
guest 16.05.2016 23:45 # +2
полноценный язык ТоТ который не существует
guesto 16.05.2016 23:53 # +1
чушь
дай-ка мне определение полноценного языка
Мое определение таково: ЯП является тьюринг-полным, не эзотерическим, и не ПХП
guest 17.05.2016 00:10 # 0
guesto 17.05.2016 00:11 # +1
гугл показал мне http://a2ch.ru/i/027a9cba0b6adf1f59d45c93ce11ff34
guest 17.05.2016 00:19 # +2
bormand 17.05.2016 00:34 # 0
guest 17.05.2016 04:03 # +3
Типа:
"Ха смотри я прибавляю таблицу, а происходит ядерный трипездец. Крута да?"
Даже наверное сам Роберту не знает нахуя они нужны.
guesto 17.05.2016 04:06 # +2
guest 17.05.2016 04:09 # +1
Sfabrikan 17.05.2016 04:39 # 0
А все просто, они нужны лишь для удобства.
Sfabrikan 17.05.2016 05:33 # 0
Вот тогда нам может помочь метатаблица с любым метаметодом какой вам понравится
roman-kashitsyn 17.05.2016 15:35 # +4
Ну как и перегрузка методов в пистоне, для реализации DSL.
Вот, например, классический пример:
http://www.inf.puc-rio.br/~roberto/lpeg/
guest 17.05.2016 04:06 # +1
guesto 17.05.2016 10:28 # +3
guest 17.05.2016 14:51 # 0
А еще внезапно он быстрее питона, и жрет меньше.
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=lua&lang2=python3
guesto 17.05.2016 15:14 # 0
guest 17.05.2016 15:28 # 0
guesto 17.05.2016 15:29 # 0
Почему 80% не сделать на c, а пистоном просто глукодить?
guesto 17.05.2016 15:30 # 0
guest 17.05.2016 15:47 # 0
guesto 17.05.2016 15:51 # 0
что, правда Python бы тормозил , а lua бы летал в этом моде?
guest 17.05.2016 16:01 # +1
guest 17.05.2016 16:17 # 0
guest 17.05.2016 17:47 # −2
gost 17.05.2016 22:15 # +2
guesto 18.05.2016 00:18 # +2
можно даже на брейнфаке написать компилятор языка брейнфак под платформу Z80/Spectrum
только можно устать очень
3_14dar 21.05.2016 21:42 # 0
В свое время писал плагин для wireshark-а
3_14dar 21.05.2016 21:40 # 0
Это очень важно. А еще в нем нету встроенной библиотеки. Вообще. Даже для битовых операций нужны внешние модули. И нахуй он после этого нужен?
Sfabrikan 18.05.2016 00:33 # +1
guest 21.05.2016 14:19 # 0