Zuletzt bearbeitet vor 3 Monaten
von Xineohp1506

Modul:RezeptBerechnung: Unterschied zwischen den Versionen

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 = "== Angepasste Zutaten für " .. persons .. " Person(en) ==\n"
     local result = ""
      
      
     local group = nil
     local group = nil
     local hasIngredients = false  -- Neue Variable, um zu prüfen, ob Zutaten vorhanden sind
     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


     -- Überprüfen, ob mindestens eine Zutat vorhanden ist
     -- 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