J'ai un fichier d'entrée avec différents types d'alimentsAjout de valeurs supplémentaires aux tables dans Lua
Corn Fiber 17
Beans Protein 12
Milk Protien 15
Butter Fat 201
Eggs Fat 2
Bread Fiber 12
Eggs Cholesterol 4
Eggs Protein 8
Milk Fat 5
(Ne prenez pas ces derniers. Je suis trop au sérieux pas un expert en nutrition) Quoi qu'il en soit, je le script suivant que lit le fichier d'entrée met alors le suivant dans une table
file = io.open("food.txt")
foods = {}
nutritions = {}
for line in file:lines()
do
local f, n, v = line:match("(%a+) (%a+) (%d+)")
nutritions[n] = {value = v}
--foods[f] = {} Not sure how to implement here
end
file:close()
(Il est un peu en désordre en ce moment) Notez également que différents aliments peuvent avoir différents nutriments. Par exemple, les œufs contiennent à la fois des protéines et des matières grasses. J'ai besoin d'un moyen de laisser le programme, savoir quelle valeur j'essaie d'appeler. Par exemple:
> print(foods.Eggs.Fat)
2
> print(foods.Eggs.Protein
8
Je crois que j'ai besoin de deux tables, comme indiqué ci-dessus. La table des aliments contiendra un tableau des nutritions. De cette façon, je peux avoir plusieurs types d'aliments avec plusieurs faits nutritifs différents. Cependant, je ne suis pas sûr de savoir comment gérer une table de tables. Comment puis-je l'implémenter dans mon programme?