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 중국어 웹사이트의 기타 관련 기사를 참조하세요!