Inellok
Я в Sublime Text.
Inellok
Notepad++ меня смутил своим интерфейсом. Вот зеробрэин - хорошая штука!
Igor
И на Lua и на C пишу в атоме, ничего удобнее не нашёл, к сожалению. А свой компилируемый говнокод в Visual Studio дебаггере гоняю, если есть проблемы.
Igor
"к сожалению" потому что я не очень люблю электрон, но атом оказался самым удобным
Inellok
Чем не нравится Sublime? Он вроде нормальный, как и Visual Code.
Igor
Раньше в саблайме сидел, но он какой-то бедненький на функционал, или я просто не научился его в полную мощщ использовать
Alxius
Но главное что она нативная хотя бы .
Timur
Потому вопрос - как кто vscode себе обсутраивает? Отладка, навигация?
Igor
Inellok
Почему когда я просто пишу function name() code end в таблице происходит ошибка?
Inellok
expected '('
Inellok
А вот когда пишу через присвоение полю анонимной функции, всё работает
Snusmumriken
Потому что в конструкторе таблиц нельзя писать глобальные функции, только лямбды.
Snusmumriken
Хотя не, тогда бы ты задавал вопросы "почему я задницей сел на клаву, а она не написала мне работающий отлаженный проект, который можно показать профессору кодописания, чтобы он ахнул от краткости, лаконичности и гениальности мысли моей задницы".
Inellok
Обижаешь...
Inellok
Inellok
Как я понял, function name() создаёт именно глобальную переменную, в которой хранится ссылочка
Snusmumriken
Да.
Snusmumriken
Скажи спасибо, что тут есть конструктор для добавления функций в уже созданные таблицы:
local tbl = {}
function tbl.foo(x, y)
...
end
А в конструкторе таблиц, ты делаешь только и исключительно добавление в эту таблицу переменных. Ничего другого.
Inellok
спасибо, что тут есть конструктор для добавления функций в уже созданные таблицы:
Taras 🦀
Переходи по ссылке и дрочи.
Дата перевода: 2016
Дата написания: 2013
на улице 2020
там точно нет "половина устарела еще на момент перевода" ?
вопрос, ибо я новичек, и изучаю Tarantool
Snusmumriken
Timur
кстати хотел спросить, а кто-нибудь использует vanilla lua в не luajit (или какой другой jit)? из каких соображений? (некуда спешить?)
Vladislav
NM
NM
Snusmumriken
Да не, патчи просто облегчают
Timur
Arslan
Как перегрузить бинарный оператор в стиле c++ cout?
С одним аргументом нормально, а больше не может(
Arslan
Igor
Потому что у тебя метаметод __shl возвращает nil
Arslan
Тип self возвращать надо?
Igor
сделай в нём return self
Arslan
Попробую
Arslan
Arslan
А можно передать аргументы sep, end (как в питоне) в функцию print?
Arslan
Или придется использовать std out?
Igor
Загуглил уже, вместо sep можешь table.concat использовать
Inellok
Как применять битовые операции?
Igor
print(table.concat({1, 3, 3, 7}, '-')) => 1-3-3-7
Inellok
А в луа-жид?👨
🐅🤦♂️
#!/usr/bin/env lua
t = {}
t.__index = t
t.__shl = function(self, item)
if not self.acc then
self.acc = item
else
self.acc = self.acc + item
end
return self
end
t.__tostring = function(self, item)
return self.acc
end
local q = setmetatable({}, t)
print(q << 1 << 2)
local c = q << 100 << 100
print(c)
--q << 2000 -- а так не получится??
Igor
Arslan
Igor
Что именно не получается?
Arslan
Сработало 🤣🤣🤣
Arslan
До этого что-то было не так
Igor
Ну и отлично
Inellok
Igor
просто таблица bit, в ней все функции
Inellok
У меня просто чистого JIT'а нет, есть только лове
Igor
В ловке тоже bit
Inellok
Интересный факт: если параметр функции один, и это таблица или строка, можно не ставить круглые скобки.
Igor
Inellok
Но скорее всего, тут все, кроме меня, уже давным-давно это знали. Тут вроде нет новичков в Lua.
Igor
Их много, просто не выдают себя
Inellok
Ясно.
Inellok
А вы знали про таблицу args в функциях Lua?
Inellok
Встроенную.
Igor
Это чуть ли не самое начало мануала
Inellok
Я об этом не так давно узнал.
Arslan
args в функциях?
Igor
-1ый элемент в ней - путь исполняемого файла lua, 0ой - скрипт, 1-... - это аргументы скрипта
Inellok
Arslan
Inellok
Ты о чём?
Arslan
То что скобки можно не ставить если аргумент - строка или таблица
Inellok
function example{bruh = 4, bro = 3} return 4 + 3 end
Inellok
Я вчера об этом узнал, когда читал доки амулета
Inellok
Там такое...