1,043
edits
(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 | |||
return newDice{ | |||
{ | |||
quantity = 1, | |||
size = maximum - minimum + 1, | |||
}, | |||
{ | |||
} | quantity = minimum - 1, | ||
size = 1, | |||
}, | |||
} | |||
else | |||
error("I couldn't make sense of this as a range string: " | |||
.. rangeString) | |||
end | |||
end | end | ||