首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在lua中的小写表

在lua中的小写表
EN

Stack Overflow用户
提问于 2014-05-01 19:42:25
回答 1查看 714关注 0票数 0
代码语言:javascript
复制
Monster_List = {'Hunter','creature','demon'}

Monster_List = Monster_List:lower()

那呢?

代码语言:javascript
复制
Attacks = {}

Attacks[1] = {'CreaTurE','MonstEr'}
Attacks[2] = {'FrOG', 'TurtLE'}

如果这看起来太蠢了,我很抱歉,但是我怎么把桌子的所有内容都小写呢?

编辑:至于第二个问题,我是这样做的,不确定是否正确。

代码语言:javascript
复制
for i=1,#Attacks do
    for k,v in pairs(Attacks[i]) do
    Attacks[i][k] = v:lower()
    end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-01 19:47:12

迭代表并更新值。

代码语言:javascript
复制
lst = {'BIRD', 'Frog', 'cat', 'mOUSe'}
for k,v in pairs(lst) do
    lst[k] = v:lower()
end

table.foreach(lst, print)

产生的结果:

代码语言:javascript
复制
1   bird
2   frog
3   cat
4   mouse

要处理嵌套表,递归函数将使其变得轻而易举。像这样吗?

代码语言:javascript
复制
lst = {
    {"Frog", "CAT"},
    {"asdf", "mOUSe"}
}

function recursiveAction(tbl, action)
    for k,v in pairs(tbl) do
        if ('table' == type(v)) then
            recursiveAction(v, action)
        else
            tbl[k] = action(v)
        end
    end
end

recursiveAction(lst, function(i) return i:lower() end)
-- just a dirty way of printing the values for this specific lst
table.foreach(lst, function(i,v) table.foreach(v, print) end)

产生的结果:

代码语言:javascript
复制
1   frog
2   cat
1   asdf
2   mouse
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23415300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档