gpt4 book ai didi

Lua:在等待输入时运行代码

转载 作者:行者123 更新时间:2023-12-04 15:55:52 25 4
gpt4 key购买 nike

我目前正在开发一个 lua 程序。我想在 Minecraft 中使用它和一个名为“OpenComputers”的模组,它允许在模拟系统上使用 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 比较陌生,所以请尝试提供一个简单的解决方案,并且 - 如果可能的话 - 一个不依赖第三方工具的解决方案。

谢谢你:)

最佳答案

如果您有一些使用开放式计算机的经验,您可以为“key_down”添加一个(异步)监听器,并将用户输入存储在一个字符串(或任何您想要的)中。

例如:

local userstr = ""
function keyPressed(event_name, player_uuid, ascii)
local c = string.char(ascii)
if c=='\n' then
print(userstr)
userstr = ""
else
userstr=userstr..c
end
--stores keys typed by user and prints them as a string when you press enter
end

event.register("key_down", keyPressed)

关于Lua:在等待输入时运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com