php エディタ Xiaoxin は、gopher-lua を使用して、Lua 関数内で事前定義されたテーブル パラメーターを持つ関数を定義し、関数内のテーブルにアクセスする方法を紹介します。 gopher-lua は Go 言語で実装された Lua インタープリターで、Go プログラムに Lua スクリプトを埋め込んで実行できます。合理的なコード設計と使用を通じて、この目標を簡単に達成できます。次に、その方法を詳しく説明します。
Go 関数を定義してグローバルにする方法を知っています (ドキュメント内の Double の例)。しかし、この関数のパラメータが事前定義されたテーブルである必要がある場合はどうなるでしょうか?
リーリーIMAP サーバー Dovecot は、上記のようなものを提供します: https://doc.dovecot.org/configuration_manual/authentication/lua_based_authentication/#examples
また、テーブル (またはユーザー データ) を備えた事前定義関数も提供したいと考えています。しかし、これを達成する方法が本当にわかりません。
テーブルをグローバルにするのは簡単 (L.SetGlobal(...)) ですが、それを期待される関数に追加するにはどうすればよいでしょうか?
Go に関数を追加する
リーリー誰かが私にインスピレーションを与えてくれれば素晴らしいです:-) 事前に感謝します
@koyaanisqatsiの回答に基づいて、これをGoで機能させる方法を考え出しました。
Go コード例:
リーリーsample.lua ファイル:
リーリー ###結果:### リーリー以上がgopher-lua を使用して、事前定義されたテーブルをパラメータとして受け取り、Lua スクリプトが関数内でアクセスできる Lua 関数を定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。