为什么这个Lua的程序没有正确编译? (EEPro)

时间:2013-06-23 17:02:46

标签: java compilation lua

首先,我想澄清一下,我是一个使用Lua的新手。 我的目标是使用下面发布的代码创建Java应用程序。 我有一台联想Y560,它有一个Windows 7 x64操作系统。为此,我下载了LuaForWindows_v5.1.4-46。 正如我所说,我的目标是创建一个具有Symbian OS S40的移动Java应用程序,我的想法是将Lua中的这个程序转换为Java。但在此过程中,我怀疑是否存在疑虑。 如果我错误地提出这个问题,我会道歉。

EEPro for Nspire on Lua

尝试编译这个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]: ?
  

退出代码:1

你能告诉我为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:0)

string.uchar可以通过这种方式实现(只需在EEPro.big.lua文件的开头插入这些行):

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