Lua - 一些问题
2013-4-25 3:1:58
收藏:0
阅读:128
评论:2
我是一个编程业余爱好者。如果我在某些方面犯了错误,请包涵。
无论如何,我正在制作一个操作系统的 alpha 阶段,我正在制作我的安装程序。两个问题。我能从 pastebin 上获得一段代码,然后让我的 Lua 脚本下载它吗?第二个问题:我把代码的 "print" 部分放在 cmd 里面,结果出现了 "非法字符"。我不知道出了什么问题。这是我的代码。
--变量
是 = true
不是 = false
--加载界面
print ("1")
sleep(0.5)
print("2")
sleep(0.5)
print("下载操作系统")
sleep(2)
print("完成!")
sleep(0.2)
print("您想打开操作系统吗?")
end
点赞
用户1847592
你可以使用操作系统独立(但会占用 CPU)的方式实现 sleep:
local function sleep(seconds)
local t0 = os.clock()
repeat
until os.clock() - t0 >= seconds
end
2013-04-25 06:00:18
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我发现你的代码有几个问题。
首先,
True和False都是没有意义的变量名-如果你没有之前为它们分配过任何值,它们都等于nil。因此,你的Yes和No变量也都被设为了nil。这并不是因为lua中不存在true和false-它们只是小写的:true和false。创建Yes和No变量是多余的和难以阅读的-直接使用true和false即可。其次,如果你使用从lua官网下载的标准版本,
sleep不是一个有效的函数(尽管它在Roblox版本的Lua中是有效的,或者这是我所听说的)。像大写的True和False一样,sleep默认为nil,因此调用它不起作用。根据你运行这个的环境,你需要使用os.execute("sleep " .. number_of_seconds),如果你在mac上,或者使用os.execute("timeout /t " .. number_of_seconds),如果你在PC上。你可能需要将它们封装成一个函数:function my_sleep_mac(number_of_seconds) os.execute("sleep " .. number_of_seconds) end function my_sleep_PC(number_of_seconds) os.execute("timeout /t " .. number_of_seconds) end至于你遇到的具体错误,我认为它是由于你的程序末尾的
end语句引起的。在lua中,end并不完全是你所想的东西-它并没有指定程序的末尾。Lua只需查看文件中是否还有任何文本即可确定程序的结束位置。但是,如果没有你明确指定代码的各个子块的结束位置,例如if语句,函数等,Lua则无法确定。例如,假设你编写代码print("checking x...") if x == 2 then print("x is 2") print("Isn't it awesome that x is 2?") print("x was checked")lua无法确定最后一个语句,输出
x被检查了,是只有在x等于2时发生的还是始终发生的。因此,你需要明确说明代码的各个部分的结束位置,这就需要使用end。不过,对于文件来说,这是不必要的,而且实际上会导致错误。下面是带有end的if语句:print("checking x...") if x == 2 then print("x is 2") print("isn't it awesome that x is 2?") end print("x was checked")虽然lua不关心缩进,但是最好缩进这些代码块,这样你就可以一眼看出它的开始和结束位置:
print("checking x...") if x == 2 then print("x is 2") print("isn't it awesome that x is 2?") end print("x was checked")至于你的“pastebin”问题,你需要更具体地说明。