Size: a a a

2021 June 11

A

Andrey in pro.lua
не хочу просто велосипед изобретать, скорее всего решение стандартное
источник

G

GNU/Vsevolod in pro.lua
Нужно считать в другом треде (green или системном), т.е. на чистой lua никак. libuv или что-то такое
источник

A

Andrey in pro.lua
из одного скрипта можно как то организовать другой тред параллельно ?
источник

A

Andrey in pro.lua
есть examples ? с кодом
источник

G

GNU/Vsevolod in pro.lua
Если luv (libuv), то можно таймер запустить
https://github.com/luvit/luv/blob/master/examples/timers.lua
источник

A

Andrey in pro.lua
можно внутрь функции запихнуть счетчик который по завершению отвалится ?
источник

A

Andrey in pro.lua
спасибо
источник

G

GNU/Vsevolod in pro.lua
С тредами я не работал, но кмк єто на сишке проще написать и забиндить
источник

S

Snusmumriken in pro.lua
Ну самое тупое:
function foo()
 local timeout = os.clock() + 5
 while os.clock() < timeout do
   do_something
 end
end

А вот ограничивать время применения внешних функций — это тебе во-первых нужны корутины, а во-вторых в самих функциях не должно быть ничего блокирующего и yield на каждой точке выполнения, а поверх этой функции должна быть обёртка.

В компании IPONWEB для выполнения этого "стандартного решения" пришлось делать свой форк Luajit.
источник

S

Snusmumriken in pro.lua
Например так:

function coroutine_sleep(timeout)
 timeout = timeout + os.clock()
 while os.clock() < timeout do
    coroutine.yield()
 end
end

function call_routine(func, timeout, ...)
 local routine = coroutine.wrap(func, ...)
 timeout = timeout + os.clock()
 local result
 while not result and os.clock() < timeout do
   result = routine()
 end
 return result
end

function foo()
 coroutine_sleep(3)
 coroutine_sleep(5)
 return 10
end

print("1", call_routine(foo, 5)
)
print("2", call_routine(foo, 10))
источник

S

Snusmumriken in pro.lua
Функция call_routine блокирует, сделаешь себе свой менеджер параллельных задач.
источник
2021 June 12

PS

Petrov Sergey in pro.lua
добрый вечер, глупый вопрос:
for x = 1, 9, 1 do
 print("srv_%d" % x)
end
источник

PS

Petrov Sergey in pro.lua
как это сделать?:)
источник

AZ

Aydar Zarifullin in pro.lua
string.format("srv_%d", x)
источник

S

Snusmumriken in pro.lua
("srv_%d"):format(x)
источник

A

Andrey in pro.lua
Супер, спасибо!
источник

FL

FName LName in pro.lua
привет всем! есть ли тут люди которые делают моды для Warhammer Total War 2 используя LUA?
источник

LU

Lucky Uk in pro.lua
что тревожит тебя? Lua везде одинаковая
источник

FL

FName LName in pro.lua
даже рисование интерфейса (появление иконок картинок) в игре?
источник

S

Snusmumriken in pro.lua
Если игра это поддерживает )
Вон в вовке интерфейсы на луях клепаются.
источник