Обычно можно было бы нажать «userdata», когда данные не являются стандартными типами Lua (число, строка, bool и т. Д.).Нажатие указателя исполняемой функции?
Но как бы вы вытолкнуть на самом деле указатель функции на Lua (не как пользовательские данные, так как пользовательские данные не исполняемой функции в Lua), предполагая, что функция выглядит так:
void nothing(const char* stuff)
{
do_magic_things_with(stuff);
}
Возвращаемое значение должно вести как возвращаемое значение этой функции Lua:
function things()
return function(stuff)
do_magic_things_with(stuff)
end
end
Возможно ли это с C API? Если да, то как (примеры будут оценены)?
EDIT: Чтобы добавить определенную ясность, значение должно быть возвращено функцией, переданной Lua через API C.
WAAAY более спроектирован. –
@caspin Следовательно, редактирование в конце и мой комментарий к ответу Дуга. Чтобы положить это в исторический контекст, он изначально отказался от ответа Дага и снова подумал о проблеме. –