Haskell:将.lua表转换为Haskell可行类型

时间:2018-11-24 17:21:46

标签: parsing haskell lua-table

我是一个初学者,尝试通过将一些简单的仓库从不同的语言翻译成Haskell来练习编码haskell。

许多简单的游戏都使用.lua来存储角色/能力数据。

我想要的是获取.lua表并将其转换为haskell可行的类型。

这就是.lua文件的样子

local Data =
{
["Weapons"] = {
    ["AB"] = {
        Name = "AB",
        Cost = {
            Spells = 65000,
            BCost = 15000,
            MCost = 150,
            sh = 35,
            Time = 24,
            Parts = {
                { Name = "Top",Type = "Item",Count = 1,},},
        },
        Resist = 0.85,
        Class = "Shield",
        Attack = {
            Damage = {
                ["First"] = 5,
                ["Second"] = 5,
                ["Third"] = 40,},
            Chance = 0.2,
            X = 2,
        },
    },
    ["PG"] = {
    ...
    ...
    ...
}

return Data

使用Aeson进行唤醒时,有一个简单的函数decode,您可以将其用作decode someJSON :: Maybe Object,并获取放入默认Aeson数据类型中的所有JSON文件内容,可以使用库函数进行处理。我找不到.lua的类似内容。

0 个答案:

没有答案