2016-07-23 48 views
2

我试图做一个终端,但我坚持一件事。在doer程序命令中做。我希望docom是loadtring的输出。 input = io.read()它是我的程序中的一个lua终端,但没有显示任何输出。以下是相关的代码:卢阿定制终端没有命令输出

docom = loadstring(input) 
print(docom) 

如何使输出显示?因为目前它是这样的:

welcome to the terminal! 
loaded 
do 
do: 
print("hello") 
function: 0x809b60 
do: 

第三和第五行是用户输入。我该如何解决这个问题,以便显示hello字符串而不是函数名称。我希望这能够管理它,因为我拥有同一个lua脚本中的所有其他内容。请帮忙。

+0

'assert(loadstring(input))()' –

回答

0

您可能想要print(docom())

loadstring将脚本编译成函数。这就是你看到的function: 0x809b60

loadstring不运行该功能。因此致电docom()

您可能想要通过检查docom是否为零并通过pcall调用docom来添加错误处理。

+0

谢谢你的帮助。我一直在做lua一段时间,但从不需要做任何终端类型的东西。我很快就会在shinycreators.com上发布这个程序。 –