2010-05-06 3 views
2

Итак, когда я бегу Lua, я получаю что-то вроде:интерактивный Lua приглашение в OpenGL приложения

lua 
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> 

Теперь я хочу подсказку, как это, 1) в GUI приложении я написал.

Приложение моего графического интерфейса может предоставлять такие функции, как: get_input_from_screen(); и write_this_crap_out_to_screen(); и больше функций, я могу написать по мере необходимости

Я также знаю, как встроить интерпретатор Lua в моей C++ код (краткое руководство на веб-сайте)

То, что я не знаю .. это как подключить ввод/вывод интерпретатора lua с моим графическим интерфейсом.

Любая помощь/ссылки оцениваются.

Спасибо!

ответ

0

Логика будет выглядеть так, я полагаю.

string s = gui_read(); 
string result = lua_interpreter(s); 
gui_print(result); 
1

Я тоже искал что-то подобное, и просто просматривая lua.c, на самом деле не нажимал на меня. Только когда я где-то читал, что вы хотите реализовать/перезаписать функцию print() своим собственным, все имеет смысл для меня.

Ключ состоит в том, чтобы написать собственную функцию печати в приложении, которая знает, как отправить вывод lua на нужный компонент - будь то виджет TextBox, консоль для написания скриптов, другой файл или что у вас есть. Тогда все, что вам нужно сделать, это зарегистрировать эту функцию печати, чтобы lua узнала об этом.

Аналогично, чтобы получить lua для обработки ввода сценариев, создайте функцию, которая извлекает обрабатываемую строку (например, текстовое поле виджетов), а затем передает эту строку на что-то вроде lual_dostring() или аналогичного. Затем установите функцию ввода для запуска на каком-либо событии, например, когда пользователь нажимает кнопку ввода или когда нажата кнопка и т. Д.

Этот site here имеет очень хороший пример кода для иллюстрации.

Смежные вопросы