Module:Dice: Difference between revisions

198 bytes added ,  16:57, 31 July 2019
add error checking
(add fromRangeString and provide the original fromString as fromDiceString as well)
(add error checking)
Line 80: Line 80:
function Dice.fromRangeString(rangeString)
function Dice.fromRangeString(rangeString)
     local minimum, maximum = rangeString:gsub('%s', ''):match'^(%d+)-(%d+)$'
     local minimum, maximum = rangeString:gsub('%s', ''):match'^(%d+)-(%d+)$'
     return newDice{
 
        {
     if minimum ~= nil and maximum ~= nil then
            quantity = 1,
        return newDice{
            size = maximum - minimum + 1,
            {
        },
                quantity = 1,
        {
                size = maximum - minimum + 1,
            quantity = minimum - 1,
            },
            size = 1,
            {
         },
                quantity = minimum - 1,
     }
                size = 1,
            },
         }
     else
        error("I couldn't make sense of this as a range string: "
            .. rangeString)
    end
end
end