如何清除Lua解释器中的多行命令?

时间:2015-03-31 14:27:06

标签: lua

例如,如果我在Python中编写多行命令,我可以按ctrl-c

在Lua中,对于一个衬垫,我可以按ctrl-u清除单行,但这对多行函数没有任何作用,等等.Laa中的ctrl-c退出解释器。

编辑: 举个例子说我在Lua写一个函数:

>> function Test()
..> print 'Test'
..> e

此时,我即将写end并且我意识到我不想调用函数Test(),而是我想把它称为Test123(),怎么会我用Python的ctrl-c

打破了这个

2 个答案:

答案 0 :(得分:3)

您始终可以输入';',这将终止当前命令。在这种情况下,您将收到语法错误(因为语句未完成),但您可以使用命令的一部分来执行新命令。

答案 1 :(得分:1)

即使Lua正在阅读多行语句,它也会通过调用readline逐行读取它。结果是你只能编辑当前行,而不能编辑整个多行。

同样的事情似乎发生在Python中(当多行语句由\延续发出信号时)。但是,Python似乎处理与Lua不同的ctrl-c:它以某种方式捕获ctrl-c并返回到提示符,而Lua在输入期间没有为ctrl-c设置信号处理程序,因此中止程序,这是默认操作。