0

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

Lua 上 Nspire 的 EEPro

试图编译这个 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

你能告诉我为什么会这样吗?

4

1 回答 1

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
于 2013-06-23T18:44:21.763 回答