Zuletzt bearbeitet vor 3 Monaten
von Xineohp1506

RezeptBerechnung

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 = "== Angepasste Zutaten für " .. persons .. " Person(en) ==\n"
    
    local group = nil
    for i = 1, math.huge 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"]
        
        -- Wenn keine weiteren Zutaten existieren, Schleife beenden
        if not name then break end  

        -- 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

    return result
end

return p