vitaly
http://im.pocasi.seznam.cz/size1280/camera/0000000029911679/201807/0507/0b/5b3dc4560ba4d4db55e00500.jpg?auth=Myq1Xknx7m7Fu8HFU2_SCw
vitaly
Учи Луа - эмигрируй в Прагу
Александр
Snusmumriken
vvzvlad
так все равно не будет же показываться конкретная строка, а просто имя вместо начала строки
Snusmumriken
Присмотрись. Тут есть цифры, указывающие на строку. Если указать имя скрипта, появится нормальный вид:
[script.lua]:32: in function [script.lua]:31
Snusmumriken
Я гружу скрипт с помощью loadstring. Если я вызываю из этого скрипта trace, то мне не показывается конкретная строка в скрипте, а показывается просто "[string "local mqtt = require 'mqtt'..."]:32: in function <[string "local mqtt = require 'mqtt'..."]:31>", т.е. он воспринимает весь скрипт как одну строку. Для отладки неудобно. Можно ли как-нибудь это решить, кроме как запихиваем скрипта в файл и вызовом load/loadfile?
vvzvlad
ой. и правда, слепой.
vvzvlad
спасибо)
Alxius
О любители чештины =) пытался учить чешский, но возненавидел чешскую раскладку на компьютере потому выбрал польский
Mark ☢️
Обьявление переменной в игре для глубины погружения подлодки
vvzvlad
генератор функций с генератором функций внутри
Dadaskis
vvzvlad
а за что?
vvzvlad
Интересно, можно ли сделать проще.
vvzvlad
это и так с нуля
vvzvlad
:(
Snusmumriken
Можно сделать проще
Snusmumriken
🌚💛💥⏺⏺⏹💥💙🌝
vitaly
прон
vitaly
реальный прон
vitaly
тут с суб - можно ногу себе отстрелить и файндом
vitaly
а люди пишут генератор функций с генератором функции внутри
Dadaskis
Что бы написать ещё один генератор функций
Dadaskis
Больше функций богу функций
Snusmumriken
тут с суб - можно ногу себе отстрелить и файндом
Как?
Типа, ('qwerty'):find('%d') --> nil?
1. Sub такого себе не позволяет;
2. Это нормальное поведение, зато оно не врёт и можно чейнить конструкции:
str = 'qwerty'
start_byte = str:find('%d') or str:find('%a')
vitaly
есть строка с переносами - как массив получить из строк - разделение переносами
vitaly
ясное дело что дели - у меня есть експлоде функция она не срабатывает коректно - скорей всего что то с экранированием /n
vitaly
это работа - такая - казнить нельзя помиловать
vitaly
решил проблему - поделил по другому символу
vitaly
это хтмл и куски нужные можно получить порубив его в капусту через "<"
Mark ☢️
https://github.com/luaposix/luaposix/pull/307
Mark ☢️
Имхо, помержено
Mark ☢️
Имхо, овнер репы -- баклан ещё тот. Типа школьника но в возрасте.
bebebe
https://github.com/jvburnes/node9
Кто-нибудь пробовал?
Lucky
А вот кому Lua игор?
Lucky
http://instead-games.ru/game.php?ID=296
Lucky
она же и онлайн
Lucky
http://instead-games.ru/instead-em/?/games/instead-multicooker-0.3.zip
Anton
Пробовали fennel?
Anton
Или это к лисперам?
Lyubov
Всем привет!
Мы разрабатываем рекламные платформы на Lua.
Каждый проект - чистый highload (нагрузки примерно 0,5 млрд. запросов в сутки), а каждый разработчик является архитектором какой-то сложной высокопроизводительной платформы.
Описание вакансии по ссылке https://www.iponweb.com/careers/115
Все клиенты иностранные (США, Европа, Япония) - прекрасный шанс прокачать английский.
Работаетсяу нас прекрасно: процессы отлажены (code review, тестирование и даже ООП в Lua 😊 и т.д. ), комфортный офис и работающая система performance review.
Пишите мне, на все вопросы отвечу.
Snusmumriken
Вакансии запостены с одобрения снуса, так что тапками бить меня.
Anonymous
Привет. Наконец-то нашел чат по луа. Что это может означать? dbAssert
Anonymous
Anonymous
Сам я питонист, но пытаюсь разобраться в луа-коде игры, хочу написать свой ИИ, а он на луа
Anonymous
понятия не имею откуда берутся эти ф-ции. В импорте ничего нет. Видимо движок предоставляет что-то
Anonymous
lua version 5.0 там
mva
mva
видимо, они находятся в глобалскоупе инициализированного в игре интерпретатора на момент загрузки и выполнения твоего скрипта
Mark ☢️
но почему нельзя было написать dbAssert(build_manager)
Anonymous
mva
mva
можно сделать, конечно, dbAssert(not(not(build_manager)))
mva
но я не уверен, что это лучше того что есть :)
Anonymous
function CpuManager:__init( cpu_player_id )
эта штука должна срабатывать сама по себе когда если заимпортить файл с этим классом?
Anonymous
а какая сейчас актуальная версия луа и чем она отличается от 5.0?
Mark ☢️
Mark ☢️
имхо, а ты не плох
Anonymous
ну вот
Anonymous
в игре юзается 5.0
Anonymous
чоподелать
Anonymous
а чем она хуже чем 5.3?
Anonymous
кстати как по эталону называть файлы? как в питоне типа hello_world.lua? или как в Си языках HelloWorld.lua?
grinchfox
Snusmumriken
кстати как по эталону называть файлы? как в питоне типа hello_world.lua? или как в Си языках HelloWorld.lua?
1. В названии скриптов и библиотек не стоит использовать заглавные буквы;
2. Пробелы нежелательны, вместо них - нижние подчёркивания, но проще - использовать одно слово;
3. Сверх-сокращения - это здорово, но не очень. Если либа - абреввиатурная - стоит учесть чтобы абреввиатура была сравнительно уникальной (вдруг ещё куча либ, которые называются точно так же, но имеют другое предназначение);
4. В случае составных библиотек (состоящих из многих файлов) - желательны имена вспомогательных скриптов из одного слова, характеризующих :
> super_library
>> init.lua
>> bla_bla.lua
>> types.lua
>> super_tools.lua
Подгрузка вспомогательных штук внутри скриптов типа bla_bla.lua:
local types = require("super_library.types")
Snusmumriken
Это, конечно, вкусовщина, но помогает быть чуть менее расхлябанным чем обычно.
Anonymous
Snusmumriken
Да, в языках си - нижнее подчёркивание встречается значительно чаще чем camel case.
Я люблю camel case, но только в именах функций/методов:
obj:setValue(val)
sendMessageToMail(msg, mail)
HTTPRequest(url, verb, data, headers)
и т.п.
Есть жуткие противники camelCase, но это сродни пробелам против табов.
Snusmumriken
Вот я про что ))
Snusmumriken
Во, новая срач-тема: пробелы против табов!
Я люблю табы!
Потому что у меня много разной техники, с дисплеями разных размеров, и где-то удобен более разреженный код, а где-то - более плотный!
Но при табличном форматировании - код всё равно дополняется пробелами, иначе все таблички будут разъезжаться:
function server:getDeltaTime()
local tm = socket.gettime()
local dt = tm - self.time
self.time = tm
return dt
end
Тут - табы только с начала строки, выравнивание - только пробелами.
mva
mva
даже на 50" ящике, который я иногда подключаю к лаптопу :)
mva
а, и да, вим автоматом при нажатии таба вставляет два пробела 😃
Snusmumriken
Когда надо надо сравнивать миллиард файлов даже на большом дисплее (параллельная прокрутка или что-то такое), два пробела тащат. Ну, или на небольших дисплеях. У меня уже зрение подхрамывает, поэтому масштаб довольно крупный, шоб влезало.
Ну, а если есть большой-большой дисплей - мне четырёхпробельное лучше видно, глазки меньше напрягаются.
Поэтому если я вижу сурцы с табами - мне значительно удобнее с ними работать, подстроив редактор под условия.
Snusmumriken
Пробелы вместо табов могут быть удобны тем, кто просматривает кучу кодовой фигни в консоли, там табы вообще могут быть шести-восьмисимвольные, и консолька может разъезжаться. Ну там, всякие гитовые файлосравнения, или при кодировании на удалёнке. Но снус который всё делает в notepad++ любит табы.
grinchfox
âDêšwu öBipci
Э свыш