Lua:等待输入时运行代码

时间:2018-08-07 03:11:46

标签: lua minecraft opencomputers

我目前正在研究lua程序。 我想在Minecraft中使用名为“ OpenComputers”的mod来使用它,该mod允许在仿真系统上使用lua脚本。 我正在处理的程序相对简单:您有一个控制台,然后输入命令来控制计算机。 看起来像这样:

while(true) do
  io.write("Enter command\n>")
  cmd = io.read()
  -- running code to process the command
end

但是问题是:我需要在后台运行的例程来检查计算机提供的数据。

while(true) do
  -- checking and reacting
end

我该如何做?

  • 在等待io.read()时我无法跳到协程
  • 仅在某人使用命令后检查是不够的(有时我几天不使用它,但我仍然必须注意它)

我对lua相对较新,因此请尝试提供一种简单的解决方案,并且在可能的情况下提供不依赖第三方工具的解决方案。

谢谢:)

1 个答案:

答案 0 :(得分:1)

运行多个任务是操作系统解决的一个非常广泛的问题,而不是像Lua解释器那样简单的事情。它在比io.read更深的层次上得到解决,并处理了足以填满两本书的大量麻烦。对于lua vm而不是物理计算机,它可能更简单,但是仍然需要深入研究如何将代码字母转换为计算机执行的操作。

您的那个mod似乎已经为您模拟了os功能:12。我相信,通过使用提供的功能,您会更好。