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 に答える