2013-06-23 1 views
0

먼저 루아를 사용하는 전체 초보자임을 명확히 밝힙니다. 내 목표는 아래에 게시 된 코드를 사용하여 Java 응용 프로그램을 만듭니다. Windows 7 x64 운영 체제가 설치된 Lenovo Y560을 가지고 있습니다. 이 목적을 위해 LuaForWindows_v5.1.4-46을 다운로드했습니다. 내가 말했듯이, 내 목표는 Symbian OS S40을 탑재 한 모바일 용 자바 애플리케이션을 만드는 것이다. 내 생각은이 프로그램을 루아에서 Java로 전환하는 것이다. 그러나 그 길을 따라 나는 의심이 있음을 의심합니다. 이 질문을 잘못하면 사과드립니다.왜이 루아의 프로그램이 올바르게 컴파일되지 않았습니까? (EEPro)

EEPro for Nspire on Lua

이 루아의 프로그램을 컴파일하려고, 나는 다음과 같은 오류 있어요 : 이런 일이 왜

> > lua -e "io.stdout:setvbuf 'no'" "EEPro.big.lua" 
> > lua: proyecto.big.lua:14: attempt to call field 'uchar' (a nil value) 
> stack traceback: 
proyecto.big.lua:14: in function 'utf8' 
proyecto.big.lua:35: in main chunk 
[C]: ? 

Exit code: 1

당신이 말해 줄 수 있습니까?

+0

을,이 루아 코드는 [확장 된 표준 라이브러리 (HTTP 요구 lua.org/Category:Extended_Standard_Library)이 설치되어야합니다 (이 코드가 작성된 원시 시스템에 기본적으로 설치되어있는 것으로 보입니다). –

+0

LuaRocks를 설치하는 방법? –

+0

라인을 삽입 한 후 라인 1942에서 원본 코드에 오류가 있습니다. lua : proyecto.big.lua : 1942 : 글로벌 '이미지'(nil 값)를 인덱싱하려고 시도합니다. 스택 추적 : \t proyecto.big.lua : 1942 : 메인 청크 내 \t [C] :? > 종료 코드 : 1 –

답변

0

string.uchar이 (당신의 EEPro.big.lua 파일의 시작 부분에이 라인을 삽입)이 방법을 구현할 수 있습니다 //wiki.inspired- : 아마

function string.uchar(c, ...) 
    if c then 
     local t, h, s = {}, 128, string.uchar(...) 
     while c >= h do 
      t[#t+1] = 128 + c%64 
      c = math.floor(c/64) 
      h = h > 32 and 32 or h/2 
     end 
     t[#t+1] = 256 - 2*h + c 
     return s.char((table.unpack or unpack)(t)):reverse()..s 
    else 
     return '' 
    end 
end 
관련 문제