Snusmumriken
Подскажите ::pos{0,2,-81.0034,-135.1533,270.4962} чем и как лучше такой текст распарсить? точнее надо вытащить цифры, разделенные запятыми
Ну например local str = "::pos{0,2,-81.0034,-135.1533,270.4962}" local arr = {} for num in str:gmatch("%-?%d+%.?%d*") do arr[#arr + 1] = tonumber(num) end То есть, мы просто выдираем цифры в формате -12.34, но минуса или точки с дробной частью может не быть. Для хексов надо дополнительно изгаляться, но тут вроде нет хексов.
Snusmumriken
просто щас в коде идет лаг на еее выполнение
Если там нет ничего блокирующего, то примерно вот так: https://www.lua.org/pil/9.4.html
akamit
привет. подскажите пожалуйста, как в таком случае math.random пользоваться?
akamit
fn = "8" .. "8552" while string.len(fn) < 11 do --math.randomseed(os.time()) fn = fn .. tostring(math.random(3, 8)) end print(fn)
akamit
Alexey
lucky you
Alexey
Но вообще Lua обычно использует реализацию из библиотеки C которую предоставляет компилятор/компановщик
mihacooper [МСК -2]
ну randomseed внутри цикла - это ошибка в данном случае
mihacooper [МСК -2]
и такое поведени вполне ожидаемо становится
akamit
и такое поведени вполне ожидаемо становится
спасибо! вынес за пределы цикла, получше стало
Snusmumriken
ну randomseed внутри цикла - это ошибка в данном случае
Сначала делаешь math.randomseed, потом выгребаешь числа.
mihacooper [МСК -2]
именно)
Snusmumriken
Собственно, randomseed задаёт зерно рандома, после чего рандом выдаёт совершенно определённую бесконечную цепочку чисел.
Snusmumriken
А os.time() выдаёт секунды, соответственно если несколько раз в секунду вызвать рандомсид со временем, то оно будет каждый раз сбрасывать на одно и то же зерно, соответственно будет выдана одна и та же цепочка.
🦥Alex Fails
странно, что шилди в итоге пидоры обошли; утром удолил спам
Dadaskis
Упорото
Snusmumriken
Малацы
Snusmumriken
Откуда прибыли?
Snusmumriken
Василий, Калинин, Глеб, вы все очень похожи на ботов, поэтому давайте расскажите в чём разница между nil и false. Кто первый расскажет, того я не забаню.
Snusmumriken
Через пять минут захожу и смотрю ответы, если не будет — всех зобаню.
Gaisin
Это новая система антиспама (антиботы)?
Alex
порог вхождения увеличен ))
vvzvlad
пришел спросить про разницу nil и false @ не рассказал про разницу @ был забанен
Ivan
ахаахахаха
Саша
хорошо, что я не с ними зашел...
Gaisin
хорошо, что я не с ними зашел...
звучит, как будто вы незнаете ответа на вопрос)
Саша
звучит, как будто вы незнаете ответа на вопрос)
могу только представить, какой правильный ответ. я ж ненастоящий луашник
Mark ☢️
1+1=?
Ivan
2
Mark ☢️
2
неправильно. 11
Mark ☢️
опс. это не джс
Highly Likely
https://habr.com/ru/company/iponweb/blog/465441
Serezha
https://habr.com/ru/company/iponweb/blog/465441
сколько человек занимается развитием LuaVela? какие планы по его распространению за стенами компании? не думали о том, чтобы развивать luajit 2.1 или raptorjit вместо своей реализации?
Anton
сколько человек занимается развитием LuaVela? какие планы по его распространению за стенами компании? не думали о том, чтобы развивать luajit 2.1 или raptorjit вместо своей реализации?
> сколько человек занимается развитием LuaVela? Четверо. > какие планы по его распространению за стенами компании? Пока никаких определённых планов нет. Только зарелизили – надо смотреть на реакцию коммьюинити, на какие-то предложения и т.д. и т.п. > не думали о том, чтобы развивать luajit 2.1 или raptorjit вместо своей реализации? Нет, ни 2.1, ни RaptorJIT не решают тех проблем компании IPONWEB, которые решает LuaVela. Но мы всегда готовы к межпроектному сотрудничеству.
Anton
тогда тема велосипеда в статье плохо раскрыта 🙂 прочитал о тех же мельницах с которыми борются в рапторе и опенрести, не понял в чем уникальность задач
Прошу прощения, но прямо сейчас у меня нет времени раскрывать тему. Короткий ответ: насколько я понимаю, тех функций, что перечислены в разделе "Новые функции" нет ни в LuaJIT'е, ни в RaptorJIT'е. Более пространный ответ смогу дать как-нибудь позже.
Max
Мои два цента: первый вопрос, когда идёт речь о сравнении, например, raptorjit vs luavela, это какие вообще фичи добавил raptorjit? при этом есть некий сет проблем, которые в raptorjit находятся в зачаточном состоянии, а в luavela как минимум прошли гораздо дальше. например, https://github.com/raptorjit/raptorjit/pull/93 . в TValue >64 бит может быть очень полезен для unboxed int64 поддержки, unboxed ffi поинтеров (а в luavela это ещё и способ решения GC64 проблемы). не говоря о таком насущном как https://github.com/raptorjit/raptorjit/issues/167 . далее детерминистичный hotcounting https://github.com/raptorjit/raptorjit/issues/57 в luavela сделан давно. вот уже давно в raptorjit думают про sealed tables https://github.com/raptorjit/raptorjit/pull/151 , который в luavela тоже давно работает. Статья на хабре это не раскрывает, это правда. но иначе она бы была такой гигантской, что её бы никто не прочитал
Ivan
всего 2.3к просмотров - немного. Кому надо тот прочитает всё, вне зависимости от объёма статьи) Лучше раскрывать всё сразу, т.к. в загладки добавляется одна страница
ShadoWalkeR
В луа переделали модули опять? А то после обновления сервера не работало require('DBI') пока не стал импортировать _G.DBI = require('DBI')
Anton
всего 2.3к просмотров - немного. Кому надо тот прочитает всё, вне зависимости от объёма статьи) Лучше раскрывать всё сразу, т.к. в загладки добавляется одна страница
Позвольте не согласиться. Публичная документация LuaVela (эрэстэшки в репозитории) составляет почти 64 тысячи слов, это уже очень много для восприятия. А если ещё делать все необходимые подводки, чтобы объяснять контекст, то это книгу писать надо (и я сейчас практически не шучу). И потом, есть не только Lua-сообщество, темой JIT-компиляцией занимается много кто – эти люди в силу объективных обстоятельств просто утонут во всей этой информации. Но хочется, чтобы они тоже хотя бы прочитали историю – вдруг найдут что-то интересное? Ну и не хочется думать, что дело ограничится вводной статьёй.
Ivan
Да) Ключевое в последнем предложении) Мне тоже не хочется так думать
Max
интересно, а авторы raptorjit в курсе luavela?
да, если судить по watch на github
Anton
интересно, а авторы raptorjit в курсе luavela?
Да, я им в их Slack закидывал ссылку и мини-анонс.
Roman
да, если судить по watch на github
насколько я помню, это @lukego
Andrey
Всем привет. Такой вопрос local arr={} if arr=={} then print("не работает") end или я туплю. как проверить что массив пустой ?
Andrey
через решетку ?
if not next(arr) then
Andrey
о, хорошая идея, спасибо
Или если это точно правильный массив, то if #arr == 0 then
Или if not arr[1] then
Andrey
нет массив не правильный
Andrey
там индексы могут быть строковые
Alex
то есть объект )
Andrey
да
Alex
Приветт Лёш )
Alex
ты хочешь сравнить два объекта ?
Alex
тогда у тебя не выйдет потому что сравниваются ссылки на объекты
Andrey
я хочу проверить что в обьекте нет ни одного ключа
Вот это: arr=={} не сработает, ибо это примерно как если сравнить указатели на две структуры (или на два массива) в C.
Приветт Лёш )
О, это ты. Привет.
Alex
тогда next функция поможет
Andrey
через next сработает ?
Andrey
ок, спасибо
О, это ты. Привет.
Ой, показалось, что ты вопрос задал. :3
Alex
Я бы похоливарил на счёт arr = {} а потом это объект а не массив )))
Alex
типо название не переносит суть того что внутри и это жестко путает ))
Andrey
блин, я бывший пхпшник привык к ассоциативным массивам, короче я вас понял, спасибо