OpenGL 应用程序中的交互式 Lua 提示符

好吧,当我运行lua时,我会得到类似这样的东西:

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

现在,我想要一个像这样的提示, 1)在我写的 GUI 应用程序中。

我的 GUI 应用程序可以提供以下功能: get_input_from_screen(); 和 write_this_crap_out_to_screen(); 以及我必要时可以编写更多的函数

我也知道如何在我的 C++ 代码中嵌入 lua 解释器(网上的简短教程)

我不知道的是..如何将 lua 解释器的输入/输出与我的 GUI 东西连接起来。

任何帮助/链接将不胜感激。

谢谢!

原文链接 https://stackoverflow.com/questions/2784959

点赞
stackoverflow用户26227
stackoverflow用户26227

逻辑应该是这样的,我猜。

string s = gui_read();
string result = lua_interpreter(s);
gui_print(result);
2010-05-06 23:04:50
stackoverflow用户1491
stackoverflow用户1491

为什么不看一下 Lua 独立解释器 (lua.c) 的源代码,看看 Reobertoet al. 是如何完成它的?

2010-05-07 13:47:05
stackoverflow用户234175
stackoverflow用户234175

我也想实现这样的功能,但光是浏览lua.c并不是很清楚。直到我在某个地方看到,你可以用自己的print()函数来实现/覆盖,才让我所有的一切都变得清晰明了。

关键是在你的应用程序中编写一个知道如何将lua输出发送到你想要的组件的自定义print函数 - 无论是小部件TextBox、游戏内脚本控制台、另一个文件或者其他。然后,只需注册该print函数,lua就会知道它的存在。

同样,要让lua处理脚本输入,需要创建一个函数来检索要处理的字符串(例如部件文本框),然后将该字符串传递给类似lual_dostring()这样的东西。接下来,将输入函数设置为在某些事件(例如用户按下Enter键或单击按钮等)触发时进行触发。

这个网站有一个非常好的代码示例进行说明。

2010-08-08 23:16:15