我正在开始自学Lua,基本上没有编程知识。我了解类型、函数、表等基本概念。但是在遵循Lua.org的教程时,我现在正在"模块教程"中遇到了问题,不太理解调用交互模式文件的正确/最简单方法。
如果我使用Notepad++或Scite创建了一个文件,有人可以帮助我理解如何使用正确的命名方式打开该文件吗?
我正在开始自学Lua,基本上没有编程知识。我了解类型、函数、表等基本概念。但是在遵循Lua.org的教程时,我现在正在"模块教程"中遇到了问题,不太理解调用交互模式文件的正确/最简单方法。
如果我使用Notepad++或Scite创建了一个文件,有人可以帮助我理解如何使用正确的命名方式打开该文件吗?
foo.lua
,则在Lua解释器(即交互模式)中使用loadfile
。请注意,loadfile
不会引发错误,因此最好使用assert
与之配合使用。f = assert(loadfile("foo.lua"))
foo.lua
中的块加载到函数f
中。请注意,这只会加载代码块,而不会运行它。要运行代码块,请调用该函数:f()
如果您需要立即运行它,可以使用dofile
:
dofile("foo.lua")
package.path
作为搜索路径,其默认值来自LUA_PATH
。然而,在实践中最好使用适当的相对路径。
assert(loadfile("foo.lua"))()
; 这会加载并运行文件,如果加载失败,则显示错误。 - ToxicFrogloadfile
和assert
方法,都成功了!这样就清楚了。起初我遇到了一个错误,但很快意识到我的Lua文件的根目录不在Lua 5.1的根目录中。将该文件简单地移动到正确位置后,一切都运行得非常完美! - Pwrcdr87assert(loadfile("foo.lua))()
,但它在另一个文件夹中,语法会如何改变?再次感谢您的帮助! - Pwrcdr87assert
,因为loadfile
不会引发错误,我会更新答案。但是,再次强调,loadfile
只会加载文件,而不会运行它。 - Yu Hao