dofile、loadfile和loadstring(file:read()())有什么不同?

使用其中一个函数会有任何性能提升吗?使用这些函数有什么内部区别,如果有的话,是什么?

点赞
用户107090
用户107090

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

我猜你指的是 loadstring(file:read("*a"))。如果是这样,可能会有一些小的性能损失(我没有测量过),因为 Lua 需要将文件的整个内容存储为字符串。解析脚本的原语不会这样做:它会分块读取输入。

2020-03-06 09:35:30