搜索表格时遇到了些问题

我需要在表格中寻求一些帮助。

function t (data)
    local t = {}
    for _, l in ipairs(data) do t[l] = true end
    return t
end

local data = t {['b2'] = '-9 on block, KND on hit, 16f startup.'};

io.write('您想知道什么?', '\n');
re = io.read();
if data[re] then
    print('Yo');
end

我想做的是,如果我在数据表中输入了某些内容(在这个例子中,我输入了 b2),它将会打印出 '-9 on block, KND on hit, 16f startup'

点赞
用户1009479
用户1009479

我不知道为什么你需要 t 函数。表本身就是一个关联数组数据结构。代码的更简洁的版本是这样的:

local data = {b2 = '-9 on block, KND on hit, 16f startup.'}

print('你想知道什么?')
re = io.read()
if data[re] then
    print(data[re])
end

需要注意的是,使用 print 代替 io.write,我还删除了所有无用的分号。

2016-03-25 07:44:25