Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
function p.calculateIngredients(frame) | function p.calculateIngredients(frame) | ||
local persons = tonumber(frame.args["persons"]) or 1 | local persons = tonumber(frame.args["persons"]) or 1 | ||
local result = " | local result = "" | ||
local group = nil | local group = nil | ||
local hasIngredients = false -- | local hasIngredients = false -- Prüfen, ob Zutaten vorhanden sind | ||
for i = 1, 100 do | for i = 1, 100 do | ||
Zeile 31: | Zeile 31: | ||
end | end | ||
-- | -- Füge die Hauptüberschrift nur hinzu, wenn Zutaten vorhanden sind | ||
if hasIngredients then | if hasIngredients then | ||
return result | return "== Angepasste Zutaten für " .. persons .. " Person(en) ==\n" .. result | ||
else | else | ||
return "" -- Gibt eine leere Zeichenkette zurück, wenn keine Zutaten vorhanden sind | return "" -- Gibt eine leere Zeichenkette zurück, wenn keine Zutaten vorhanden sind |
Version vom 7. November 2024, 22:16 Uhr
Die Dokumentation für dieses Modul kann unter Modul:RezeptBerechnung/Doku erstellt werden
local p = {}
function p.calculateIngredients(frame)
local persons = tonumber(frame.args["persons"]) or 1
local result = ""
local group = nil
local hasIngredients = false -- Prüfen, ob Zutaten vorhanden sind
for i = 1, 100 do
local newGroup = frame.args["ingredient" .. i .. "group"]
local name = frame.args["ingredient" .. i .. "name"]
local quantity = tonumber(frame.args["ingredient" .. i .. "quantity"])
local unit = frame.args["ingredient" .. i .. "unit"]
if name then -- Nur wenn eine Zutat definiert ist, wird sie verarbeitet
hasIngredients = true -- Setzt die Variable auf true, wenn mindestens eine Zutat vorhanden ist
-- Wenn eine neue Gruppe definiert ist, füge den Gruppennamen hinzu
if newGroup and newGroup ~= group then
group = newGroup
result = result .. "\n=== " .. group .. " ===\n"
end
-- Berechne die Menge basierend auf der Personenanzahl
if quantity and unit then
local newQuantity = quantity * persons
result = result .. "* " .. name .. ": " .. newQuantity .. " " .. unit .. "\n"
end
end
end
-- Füge die Hauptüberschrift nur hinzu, wenn Zutaten vorhanden sind
if hasIngredients then
return "== Angepasste Zutaten für " .. persons .. " Person(en) ==\n" .. result
else
return "" -- Gibt eine leere Zeichenkette zurück, wenn keine Zutaten vorhanden sind
end
end
return p