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

4
例如,如果我在Python中编写多行命令,只需按ctrl-c即可。
对于Lua的单行代码,我可以按ctrl-u清除一行,但这对于多行函数等无效。在Lua中,ctrl-c退出解释器。
编辑: 举个例子,假设我正在Lua中编写一个函数:
>> function Test()
..> print 'Test'
..> e

在这个时候,我正在写end,但我意识到我不想调用函数Test(),而是想调用Test123(),我该如何像Python的ctrl-c一样中断操作?


请查看以下内容: https://dev59.com/OmAg5IYBdhLWcg3wx9fG - Michal_Szulc
我看到了,但那不是我要找的。我想知道如果我在解释器中输入命令,如何跳过该行并进入新行,而不是清除屏幕。 - John
2个回答

3
您可以随时输入“;”来终止当前命令。在这种情况下,您将收到语法错误(因为语句不完整),但您可以使用命令的部分来创建新命令。

1
即使Lua在读取多行语句时,也是通过调用 readline 逐行读取的。这个效果是你只能编辑当前行,而不能编辑整个多行语句。
Python似乎也会发生同样的事情(当使用 \ 进行多行语句标记时)。然而,Python处理 ctrl-c 的方式与Lua不同:它以某种方式捕获 ctrl-c 并返回提示符,而Lua在输入期间没有为 ctrl-c 设置信号处理程序,因此会中止程序,这是默认操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接