저는 Lua 용 LuaJava와 C 코드를 사용하고 있습니다. Lua를 String으로로드 할 수있는 방법을 알고 싶습니다. 다시 말해, .lua 파일을 처음 String으로 변환합니다. 그런 다음이 문자열의 내용을 Lua에로드하려고합니까? loadstring 함수가 있지만 이것이 어떻게 호출되는지는 확실치 않습니다. 루아가 파일 시스템에서이 파일을 검색하는 것을 원하지 않습니다. 파일을 찾아서 문자열로 변환 한 다음 파일 내용의 문자열 버전을로드하고 싶습니다. 또한 이후 함수 호출을 위해 파일에서 다시로드하지 않고 모듈을 사용할 수있는 상태로 유지하는지 loadstring()을 호출 한 후 알 수 있어야합니다. 감사.파일 대신 Lua 모듈을 문자열로로드하는 방법은 무엇입니까?
답변
, 당신은 기능 LuaState.LloadString(String source)
을 사용할 수 있습니다.
소스에서 "모듈"을 여러 번로드하지 않으려면 이름을 지정하고 테이블에 플래그를 저장해야합니다. 소스에서 모듈을 다시로드 할 수 있도록 "언로드"를 제공 할 수도 있습니다. 루아에서 다음과 같이 다시 구현할 수 있습니다 :
do
local loadedModules = {} -- local so it won't leak to _G
function loadModule(name, source)
if loadedModules[name] then return loadedModules[name] end
loadedModules[name] = assert(loadstring(source))() or true
end
function unloadModule(name)
loadedModules[name] = nil
end
end
는 제가 질문을 이해 모르겠지만 여기에 표시됩니다 : 당신은 /로드 LuaJava에서 문자열을 컴파일해야하는 경우
local f = io.open(filename)
local s = f:read '*a' -- read the entire contents of the file
f:close()
assert(loadstring(s))() -- parse and run string `s` as Lua code
저는 그가 루아가 아닌 호스트 언어로 이야기하고 있다고 확신합니다. –
예, 정확하게하려고하는 것은 Android 응용 프로그램에서 리소스 문자열로 Lua 파일을 읽는 것입니다. 따라서 루아는 파일을 읽지 않고 문자열 만 가져옵니다. 그래서 LuaJava 또는 C 언어에서 loadstring (s)을 실행하는 방법을 알아야합니다. – Androider
또한 위의 코드를 실행 한 후에 위의 코드를 실행하면 후속 루아 코드가 파일에서 해당 모듈을 찾지 않고 'module_defined_in_filename'요구를 성공적으로 수행 할 수 있는지 확인해야합니다. – Androider
- 1. 여러 파일 내용을 문자열로로드하는 가장 좋은 방법은 무엇입니까?
- 2. Delphi : 인터넷에서 텍스트 파일을 문자열로로드하는 방법은 무엇입니까?
- 3. url에서 xml 파일의 내용을 문자열로로드하는 방법은 무엇입니까?
- 4. package.preload를 사용하여 lua 모듈을 조롱했습니다.
- 5. 로드 파일 in lua
- 6. 열기 기성품 Lua 파일
- 7. Handler 호출에서 반환 된 HTML 스 니펫을 문자열로로드하는 방법은 무엇입니까?
- 8. Lua API는 값 대신 변수 이름을 평가합니다.
- 9. 플렉스 모듈을 컴파일하는 방법은 무엇입니까?
- 10. 파이썬 모듈을 취소하는 방법은 무엇입니까?
- 11. Lua/LuaFileSystem에서 새 파일 만들기
- 12. 명령 줄에서 lua 코드를로드하십시오.
- 13. 병합 모듈을 압축하는 방법은 무엇입니까?
- 14. * .lua 파일을 리소스 라이브러리로 컴파일하는 방법은 무엇입니까?
- 15. 모듈을 페이지에 삽입하는 방법은 무엇입니까?
- 16. Zend_Application에서 모듈을 사용하는 방법은 무엇입니까?
- 17. qtsql 모듈을 포함시키는 방법은 무엇입니까?
- 18. Joomla 모듈을 복제하는 방법은 무엇입니까?
- 19. 파이썬 모듈을 캡슐화하는 방법은 무엇입니까?
- 20. 모듈을 루비에 등록하는 방법은 무엇입니까?
- 21. 프로세스 모듈을 열거하는 방법은 무엇입니까?
- 22. Windows에서 모듈을 작성하는 방법은 무엇입니까?
- 23. CPAN에서 모듈을 제거하는 방법은 무엇입니까?
- 24. 티타늄으로 모듈을 만드는 방법은 무엇입니까?
- 25. RoR에서 모듈을 테스트하는 방법은 무엇입니까?
- 26. EAR의 Maven 픽업 모듈을 파일 시스템에서 자동으로 만드는 방법은 무엇입니까?
- 27. 파이썬에서 로컬 모듈을 참조하는 방법은 무엇입니까?
- 28. django 모듈을 pydiction 사전에 추가하는 방법은 무엇입니까?
- 29. Android에서 추적 모듈을 재생하는 방법은 무엇입니까?
- 30. Redis lua 스크립팅 - Ruby로 작성된 lua 스크립트와 동일한 python은 무엇입니까?
감사합니다. 내가로드 된 후 결과 값을 다시 얻는 후 자바에서 루아 함수를 호출하는 또 다른 문제가 있습니다. 이것 좀보세요 : http://stackoverflow.com/questions/8611948/lua-getting-result-back-in-luajava-from-lua-function-call – Androider