Size: a a a

2021 January 10

a

anton in pro.lua
\o а есть какая-нибудь простенькая либа, чтоб красиво таблицу в консоль распечатывать? (под таблицей я имею ввиду массив простых луа таблиц с одинаковыми ключами)
источник

S

Snusmumriken in pro.lua
anton
\o а есть какая-нибудь простенькая либа, чтоб красиво таблицу в консоль распечатывать? (под таблицей я имею ввиду массив простых луа таблиц с одинаковыми ключами)
источник

S

Snusmumriken in pro.lua
UsernameAK
https://www.lua.org/manual/5.1/manual.html
тут написано
 Lua handles a chunk as the body of an anonymous function with a variable number of arguments (see §2.5.9). As such, chunks can define local variables, **receive arguments**, and return values. 
вопрос, а как он может принимать аргументы, если у него нет части которая function()?
допустим я передал из сишного апи при вызове его аргументы
куда они попадут?
То что было в стеке после функции, отправляется в эту функцию по порядку (ты в lua_call определяешь количество аргументов и возвращаемых значений). Или что?
источник

a

anton in pro.lua
кажется, то что нужно, спасибо!
источник

U

UsernameAK in pro.lua
Snusmumriken
То что было в стеке после функции, отправляется в эту функцию по порядку (ты в lua_call определяешь количество аргументов и возвращаемых значений). Или что?
у меня вопрос как эти аргументы из луа достать
источник

U

UsernameAK in pro.lua
у них же нет имени
источник

T

The Dormouse in pro.lua
UsernameAK
у них же нет имени
tea@teapot ~> lua5.3
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
> load
function: 0x558d777634a0
> x = load("print(...)")
> x(1, 2, 3)
1  2  3
источник

U

UsernameAK in pro.lua
The Dormouse
tea@teapot ~> lua5.3
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
> load
function: 0x558d777634a0
> x = load("print(...)")
> x(1, 2, 3)
1  2  3
а, они как варарги?
источник

U

UsernameAK in pro.lua
океей
источник

U

UsernameAK in pro.lua
а можно туда как-то обычные нормальные неймед аргументы скормить?)
источник

T

The Dormouse in pro.lua
UsernameAK
а можно туда как-то обычные нормальные неймед аргументы скормить?)
Таблицей? В Lua подобное передачей таблицы делается.
источник

T

The Dormouse in pro.lua
А, ты про имена. Нет.
источник

U

UsernameAK in pro.lua
я просто хочу чтобы определенная переменная была локальной для этого скрипта
источник

T

The Dormouse in pro.lua
> y = load("return (function(a, b) print(a, b); end)(...)")
> y(1, 2)
1  2
источник

T

The Dormouse in pro.lua
UsernameAK
я просто хочу чтобы определенная переменная была локальной для этого скрипта
Как костыль — приклей сверху кусок кода (встречал такое). Может, через дебажную либу можно ещё что-то сделать, не знаю.
источник

U

UsernameAK in pro.lua
у меня если что не оригинальная сишная имплементация и не LuaJIT, но не суть
источник

U

UsernameAK in pro.lua
у меня LuaJ, это имплементация Lua 5.2 для JVM
источник

T

The Dormouse in pro.lua
The Dormouse
> y = load("return (function(a, b) print(a, b); end)(...)")
> y(1, 2)
1  2
Вот эта штука может сработать, если к чанку приклеишь сверху и снизу функцию-обёртку и её вызов, как в примере. Или просто локальную переменную сверху.
источник

U

UsernameAK in pro.lua
The Dormouse
Вот эта штука может сработать, если к чанку приклеишь сверху и снизу функцию-обёртку и её вызов, как в примере. Или просто локальную переменную сверху.
я думал об этом) по другому без таких грязных хаков никак?)
источник

U

UsernameAK in pro.lua
UsernameAK
у меня LuaJ, это имплементация Lua 5.2 для JVM
правда... здесь у load есть некий параметр environment
источник