Luaのスクリプトで定義されている関数を使用せずに関数を実行する方法

コッティエント

文字列をロードストリングして関数として実行しようとしています。これが私の問題です:

a = "hello"
loadstring("print(a)")()

上記のコードで、それ以外のvars / funcsを使用したくありません。私の目標は、ロードストリング内でisが定義されていないため、上記のスクリプトをprintnilにすることです。

質問が非常に短い場合は申し訳ありません。私の問題を説明するのは難しかった。

ジョセフ・シブル-モニカを復活させる

あなたの変数aは地球環境に住んでいます。チャンクに表示されないようにするには、別の環境を与える必要があります。Lua 5.1では、次のようにします。

a = "hello"
local chunk = loadstring("print(a)")
setfenv(chunk, {print = print})
chunk()

Lua 5.2以降では、次のようにします。

a = "hello"
load("print(a)", nil, "t", {print = print})()

それprintは魔法はないことに注意すること重要です。私のように明示的に配置しない限り、新しい環境にはなりません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonスクリプトで関数を定義して実行する方法は?

分類Dev

実行せずにbashスクリプトから関数定義をインポートする

分類Dev

スクリプトファイルで定義された関数を実行しているときにコマンドが見つかりません

分類Dev

関数を実行せずに関数内でアクセスされる JavaScript 変数のすべての属性を決定する

分類Dev

関数がチャイスクリプトで定義されているかどうかを確認するにはどうすればよいですか?また、型付き引数を使用して関数を実行するにはどうすればよいですか?

分類Dev

Eslintは、関数内で定義されたFunctionComponentを認識せず、関数内でフックを使用することについて文句を言います

分類Dev

スクリプトで定義されている場合、Julia関数は出力を出力しません

分類Dev

クラスで定義されている場合、特定の順序で関数を実行するにはどうすればよいですか?

分類Dev

変数がスコープで宣言されておらず、定義された関数を関数として使用することはできません

分類Dev

ReferenceError:「e」が定義されていません| 1枚のシートで複数のスクリプトを実行する際の問題

分類Dev

Javaの「評価」メソッドを使用してGroovyスクリプトで定義された関数を使用する方法

分類Dev

スレッドで実行されている関数にタイムアウトを設定する方法

分類Dev

スクリプトの後半で定義されたカスタム関数でValidateScriptを使用する

分類Dev

私のPythonスクリプトが定義されているすべての変数をすべて渡さずに取得する方法はありますか?

分類Dev

&&を使用せずにtuが1行で複数のbashスクリプトを実行する方法

分類Dev

bashスクリプト関数で定義された変数でcurlPOSTを使用する

分類Dev

Pythonパッケージでテストを実行するときに関数が定義されていません

分類Dev

VBAで、セルに特定のテキストが含まれ、範囲が列として設定されている場合に関数を実行するスクリプトの作成を検討している

分類Dev

conio.h内で定義されている関数を実装する方法

分類Dev

別のセルで定義されたJupyterで関数を実行する方法

分類Dev

JQueryライブラリを使用せずにコードの臭いを回避するために繰り返さずにajaxリクエストを実行する1つのjavascript関数を作成する方法

分類Dev

唯一の関数が定義されているこれらのタイプの関数テンプレート内の機能を実行します

分類Dev

スクリプトの実行時に.zshrcで定義された関数が見つかりません

分類Dev

スクリプトの実行時に.zshrcで定義された関数が見つかりません

分類Dev

ある関数で定義されたリストを別の関数で使用する。Python 2.7

分類Dev

最初に入力を要求せずに関数が実行されているのはなぜですか?

分類Dev

リストまたはベクトルのいずれかを受け入れることができるように関数を定義する

分類Dev

引数でベクトル化されていないカスタム関数でforループの代わりにlapply関数を使用する方法

分類Dev

WindowsのMinGWで実行されているbashスクリプトに引数を渡す方法

Related 関連記事

  1. 1

    Pythonスクリプトで関数を定義して実行する方法は?

  2. 2

    実行せずにbashスクリプトから関数定義をインポートする

  3. 3

    スクリプトファイルで定義された関数を実行しているときにコマンドが見つかりません

  4. 4

    関数を実行せずに関数内でアクセスされる JavaScript 変数のすべての属性を決定する

  5. 5

    関数がチャイスクリプトで定義されているかどうかを確認するにはどうすればよいですか?また、型付き引数を使用して関数を実行するにはどうすればよいですか?

  6. 6

    Eslintは、関数内で定義されたFunctionComponentを認識せず、関数内でフックを使用することについて文句を言います

  7. 7

    スクリプトで定義されている場合、Julia関数は出力を出力しません

  8. 8

    クラスで定義されている場合、特定の順序で関数を実行するにはどうすればよいですか?

  9. 9

    変数がスコープで宣言されておらず、定義された関数を関数として使用することはできません

  10. 10

    ReferenceError:「e」が定義されていません| 1枚のシートで複数のスクリプトを実行する際の問題

  11. 11

    Javaの「評価」メソッドを使用してGroovyスクリプトで定義された関数を使用する方法

  12. 12

    スレッドで実行されている関数にタイムアウトを設定する方法

  13. 13

    スクリプトの後半で定義されたカスタム関数でValidateScriptを使用する

  14. 14

    私のPythonスクリプトが定義されているすべての変数をすべて渡さずに取得する方法はありますか?

  15. 15

    &&を使用せずにtuが1行で複数のbashスクリプトを実行する方法

  16. 16

    bashスクリプト関数で定義された変数でcurlPOSTを使用する

  17. 17

    Pythonパッケージでテストを実行するときに関数が定義されていません

  18. 18

    VBAで、セルに特定のテキストが含まれ、範囲が列として設定されている場合に関数を実行するスクリプトの作成を検討している

  19. 19

    conio.h内で定義されている関数を実装する方法

  20. 20

    別のセルで定義されたJupyterで関数を実行する方法

  21. 21

    JQueryライブラリを使用せずにコードの臭いを回避するために繰り返さずにajaxリクエストを実行する1つのjavascript関数を作成する方法

  22. 22

    唯一の関数が定義されているこれらのタイプの関数テンプレート内の機能を実行します

  23. 23

    スクリプトの実行時に.zshrcで定義された関数が見つかりません

  24. 24

    スクリプトの実行時に.zshrcで定義された関数が見つかりません

  25. 25

    ある関数で定義されたリストを別の関数で使用する。Python 2.7

  26. 26

    最初に入力を要求せずに関数が実行されているのはなぜですか?

  27. 27

    リストまたはベクトルのいずれかを受け入れることができるように関数を定義する

  28. 28

    引数でベクトル化されていないカスタム関数でforループの代わりにlapply関数を使用する方法

  29. 29

    WindowsのMinGWで実行されているbashスクリプトに引数を渡す方法

ホットタグ

アーカイブ