在Lua中,哈希表内部存在多个哈希表。

我想知道我正在尝试在lua中实现的功能是否可能。

我有一个名为Creatures的全局哈希表。 Creatures包含名为mammals,amphibians,birds,insects的子哈希表。

哺乳动物拥有名为鲸,大象的子哈希表。两栖动物拥有名为青蛙,幼虫的子哈希表。鸟类拥有名为Eagle,鹦鹉的子哈希表。昆虫拥有名为libellule,蚊子的子哈希表。

我正在从文本文件中计算所有这些生物的出现频率。例如,如果我将文本文件中的鹰的数量计算为100,则应将该100存储在

Creatures[Birds [Eagle]] = 100

Lua中是否可能?如何完成?我对lua非常陌生,请帮助非常感谢。 谢谢!

点赞
用户107090
用户107090

你提供的代码是合法的Lua代码,但可能不是你想要的,你可能需要Creatures.Birds.Eagle = 100Creatures[kind][name] = 100或其它变体。

2013-06-12 22:11:58
用户1212870
用户1212870

也许你的生物表格像这样被定义:

Creatures = {
    ["mammals"] = {
        ["whales"] = 10,
        ["elephants"] = 10,
    }
    ["amphibians"] = {
        ["frogs"] = 10,
        ["larvae"] = 10,
    }
    ["birds"] = {
        ["Eagle"] = 10,
        ["parakeet"] = 10,
    }
    ["insects"] = {
        ["dragonfly"] = 10,
        ["mosquito"] = 10,
    }
}

然后你可能需要定义一个函数来初始化你的表格:

function InitCreature()     XXX    end

在这个函数中,你可以读取文本文件并将其分配给表格。类似这样的操作。

2013-06-13 01:34:10