Я новичок, пытающийся попрактиковаться в кодировании 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
и получить все содержимое файла JSON, помещенное в типы данных Aeson по умолчанию, с которыми вы можете работать с библиотечными функциями.Мне не удалось найти что-то подобное для .lua
.