2016-08-05 1 views
1

C의 API에서 루아 간단한 목록 만들기 그 방법으로 쓰여집니다 :나는이 루아 코드를 실행할 수 C에서 <code>dir()</code> 기능을 구현하기 위해 노력하고

static int l_dir(lua_State *L) 
{ 
    lua_pushstring(L, "foo"); 
    lua_pushstring(L, "file"); 
    lua_pushnumber(L, 11); 

    return 3; 
} 

이 오류는에 나옵니다.라인 실행 :

lua_pcall() failed: 02_dir.lua:2: attempt to call a string value 
+1

'l_dir'에 등록 할 라인을 포함하십시오. – a3f

+0

dir이 방법으로 호출하면 반복자 함수 여야하며, 테이블을 반환하고'pair'를 사용하면 같은 작업을 수행합니다. – zzn

답변

0

귀하의 문제는 당신이 목록으로 반환 값을 처리하기 위해 노력하고 있다는 것입니다, 그리고 당신이 의미하는 의미에서 목록이 아닙니다.

업데이트합니다 루아 파일 읽기 :

-- Define a function 
local function init() 
    local name, filetype, size = dir("Lang") 
    print(name, filetype, size) 
end 

-- call it :) 
init() 
0

이 작업은 완전히 호베르투 이에 루 잘림 스시 "루아 프로그래밍"책에 설명되어 있습니다. 전체 예제와 설명이있는 링크가 있습니다. - https://www.lua.org/pil/29.1.html

관련 문제