Я тоже хотел сделать что-то подобное, и просто просмотр lua.c на самом деле не «щелкнул» для меня. Только когда я где-то прочитал, что вы хотите реализовать / перезаписать функцию print () своей собственной, мне все стало понятно.
Ключ в том, чтобы написать свою собственную функцию печати в вашем приложении, которая знает, как отправлять выходные данные lua нужному компоненту - будь то виджет TextBox, игровая консоль сценариев, другой файл или что у вас есть. Тогда все, что вам нужно сделать, это зарегистрировать эту функцию печати, чтобы Луа знал об этом.
Аналогичным образом, чтобы получить lua для обработки ввода сценариев, создайте функцию, которая извлекает строку для обработки (например, текстовое поле виджета), а затем передайте эту строку чему-то вроде lual_dostring () или аналогичному. Затем настройте функцию ввода для запуска какого-либо события, например, когда пользователь нажимает клавишу ввода или когда нажата кнопка и т. Д.
Этот сайт здесь имеет очень хороший пример кода для иллюстрации.