사전 정의된 테이블을 매개변수로 사용하고 Lua 스크립트가 함수 내에서 액세스할 수 있는 Lua 함수를 정의하기 위해 gopher-lua를 어떻게 사용합니까?

PHPz
풀어 주다: 2024-02-09 20:57:08
앞으로
906명이 탐색했습니다.

如何使用 gopher-lua 定义一个 Lua 函数,该函数有一个预定义的表作为参数,Lua 脚本可以在该函数中访问该表?

PHP 편집기 Xiaoxin이 gopher-lua를 사용하여 Lua 함수에서 미리 정의된 테이블 매개변수로 함수를 정의하고 함수 내의 테이블에 액세스하는 방법을 소개합니다. gopher-lua는 Go 언어로 구현된 Lua 인터프리터로, Go 프로그램에 Lua 스크립트를 삽입하고 실행할 수 있습니다. 합리적인 코드 설계와 사용을 통해 우리는 이 목표를 쉽게 달성할 수 있습니다. 다음으로 이를 수행하는 방법을 자세히 설명하겠습니다.

질문 내용

저는 Go 함수를 정의하고 전역으로 만드는 방법을 알고 있습니다(문서에 두 가지 예가 있음). 하지만 이 함수의 매개변수가 미리 정의된 테이블이어야 한다면 어떻게 될까요?

으아악

IMAP 서버 Dovecot은 위와 같은 기능을 제공합니다: https://doc.dovecot.org/configuration_manual/authentication/lua_based_authentication/#examples

또한 테이블(또는 사용자 데이터)과 함께 사전 정의된 함수를 제공하고 싶습니다. 그러나 나는 이것을 달성하는 방법을 정말로 모릅니다.

테이블을 전역으로 만드는 것은 쉽지만(L.SetGlobal(...)) 예상되는 함수에 어떻게 추가합니까?

Go에 일부 기능 추가

으아악

누군가 나에게 영감을 줄 수 있다면 좋을 것 같습니다 :-) 미리 감사드립니다

해결 방법

@koyaanisqatsi의 답변을 바탕으로 Go에서 이 작업을 수행하는 방법을 알아냈습니다.

Go 코드 예시:

으아악

sample.lua 파일:

으아악

결과:

으아악

위 내용은 사전 정의된 테이블을 매개변수로 사용하고 Lua 스크립트가 함수 내에서 액세스할 수 있는 Lua 함수를 정의하기 위해 gopher-lua를 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!