Ввод пользовательских данных в Lua без C (или сколько C мне нужно научиться делать это)
Привет и заранее спасибо. Я пытаюсь понять, есть ли способ избежать изучения C (чего я совсем не знаю), чтобы превратить userdata в таблицу Lua.
Я использую приложение, которое позволяет пользователям писать дополнения, используя скрипты Lua. Эти дополнения могут запрашивать базовые данные приложения. Однако результаты запроса возвращаются как пользовательские данные, и мне нужно, чтобы они были доступны обратно в сценарии.
Я не смог найти в документации приложений ничего о работе с возвращенными наборами данных. Единственное приведенное описание состоит в том, что операция, которую я выполняю:
Выполняет текущую назначенную строку запроса и использует результаты для создания либо объекта DataSet, если возвращено несколько наборов результатов, либо DataTable, если возвращен один или нет наборов результатов.
В моем случае я получу несколько наборов результатов, я называю это userdata, потому что это то, что я получаю, когда звоню type()
на результат запроса.
Я посмотрел документацию по Lua, которая, кажется, может быть полезной, но из-за отсутствия какого-либо знакомства с CI я понятия не имею, на что я смотрю. Metatable говорит мне, что у меня есть доступ к __index
, __newindex
, __tostring
, а также __gc
метаметоды. призвание tostring
дает мне семизначное целое число, которое (я думаю) совершенно не связано с моими данными. Возможно, я вообще не получаю данные, которые хочу вернуть, но я не могу найти способ проверить это. Онлайн-ресурсы либо говорят, что этого нельзя сделать, либо предоставляют решения на С, которые, вероятно, умны, чисты и удивительны, но я их не понимаю.
Поэтому я ищу более четкое руководство о том, могу ли я / должен ли я сделать это, если есть способ сделать это без C (или просто слепо копировать чужой код), или - если мне нужно использовать C для этого - если мы говорим о 90-минутном или 7-часовом курсе "Введение в Линду", чтобы добраться туда, где я должен быть?
(и извиняюсь, если я случайно нарушил какие-либо нормы сообщества с этим вопросом... это мой первый пост)