dofile,loadfile和loadstring(file:read()())有什么区别?

时间:2020-03-06 06:58:18

标签: lua lua-api

使用其中一项功能可以提高性能。使用这两个功能是否有内部差异,如果可以的话,它们是什么。

1 个答案:

答案 0 :(得分:2)

dofileloadfileloadstring都调用相同的原语来解析脚本。

我认为您的意思是loadstring(file:read("*a"))。在这种情况下,由于Lua必须将文件的全部内容存储为字符串,因此可能会对性能造成较小的影响(我没有测量)。解析脚本的原语不会这样做:它会分段读取输入。