0

我正在尝试使用 os.execute(),但我遇到了这个问题:

attempt to call field 'execute' (a nil value)

我已经完成了os = require 'os',但是当我这样做时:os.execute("mkdir" .. var)它给了我上述错误。

从我的工作来看,这是因为它没有从 os 调用所有的东西,但是我已经看过了,但我不知道如何从 os 调用所有东西。在 python 中我会这样做,from os import *但我不知道 lua 的代码。我试过使用package.loadlib('os', 'execute'),但没有奏效。:/

编辑:我用love2D做了一个单独的测试,它奏效了。所以我不明白为什么这不起作用......

4

2 回答 2

1

您确定在问题脚本中没有覆盖/重新分配 os.execute 函数的代码吗?你有任何名为 os 的本地表对象吗?

于 2013-02-22T16:39:12.167 回答
0

试试这个:

require 'os';
if package.loaded['os'] and type(package.loaded['os']) == "table" then
  local os = package.loaded['os'];
  --from here use the local os variable to call anything inside os.
  --main block of code
end

我希望这对你有用。

于 2016-12-08T02:55:26.970 回答