Lua base dofile()

Lua base dofile()_第1张图片
文件处理.png

前言

今天的函数可以看作是用来执行代码块的,只不过他的参数是文件名或者是标准输入,可以保一块代码放入一个文件中,由这个函数一次执行获得返回结果,接下来我们一起来看一下函数的使用方法。

内容#


dofile()##

  • 原型:dofile([filename])
  • 解释:按参数filename提供的文件名打开一个文件并将其内容作为一个Lua程序块执行,当省略参数fielname时,函数默认把标准输入的内容作为程序块执行,执行结束后函数会把程序块返回的所有值作为函数的返回值返回,如果执行过程中发生了错误,函数会将错误向上跑出给它的调用者(当函数dofile()不是运行在保护模式的状态下)。

usage##

  • 首先我们新建一个文件将文件命名为dofiletest.lua然后编写代码,今天的代码非常简单,调用了上一章的测试文件:
-- 调用上一章的测试文件
dofile("collectgarbagetest.lua")

-- 把标准输入作为程序块输入
dofile()
  • 运行结果
Lua base dofile()_第2张图片
base_dofile.png

总结#

  • 由结果可以看出这个函数确实可以把文件collectgarbagetest.lua完整执行一遍,collectgarbagetest.lua代码参考上一篇文章Lua base collectgarbage。
  • 当省略参数filename时,函数也可以把标准输入作为函数输入,其中的“print("hehe")”就是我手动输入的,输入完成后按快捷键Ctrl+C结束输入,结果可以正常打印。

你可能感兴趣的:(Lua base dofile())