我是一个初学者,尝试通过将一些简单的仓库从不同的语言翻译成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
的类似内容。