2011-09-28 6 views
-1

저는 작업중인 대형 프로젝트에 대해 .net에서 LuaInterface를 사용하고 있습니다. 문자열을 LuaFunction으로 직접 변환 할 수 있습니까 (LoadString()이 작동하는 방식과 비슷합니까?).문자열을 "LuaFunction"유형으로 변환하십시오.

+2

LuaInterface에 'LoadString'또는 이에 상응하는 항목이 있습니까? 그렇지 않다면, 루아와 좋은 인터페이스가 아니며 아마도 이름을 바꿔야한다;) –

+0

@Nicol 문자열을 실행할 수있다. 문자열을'LuaFunction' 객체로 변환해야합니다. – FreeSnow

+0

'lua_loadstring'은 문자열을 실행하지 않습니다. 스택을로드하여 스택으로 푸시하는 함수로 변환합니다. LuaInterface가 Lua 함수를위한 특별한 객체를 가지고 있다면, LuaInterface의'lua_loadstring'에 해당하는 것은 그 특별한 객체를 반환해야합니다. 아니면 호출 할 수있는 다른 것. 그것은 무엇을 반환합니까? –

답변

2

LuaInterface는 LoadString입니다. 즉, LuaFunction으로 파싱 된 루아 소스 코드를 얻는 방법이므로 Call 메서드를 사용하여 함수를 실행할 수 있습니다.

static void Main(string[] args) { 
    Lua lua = new LuaInterface.Lua(); 

    LuaFunction func = lua.LoadString("return 5", "name for debugging"); 

    func.Call(); 
} 
관련 문제