Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 5: | Regel 5: | ||
if num == nil then return "" end | if num == nil then return "" end | ||
local num = trim( num ) | local num = mw.text.trim( num ) | ||
if num == "1" then return "1ste" end | if num == "1" then return "1ste" end | ||
if num == "8" then return "8ste" end | if num == "8" then return "8ste" end | ||
Versie van 19 sep 2025 10:01
Module:Ordinals
{{#invoke:Ordinals|convertNumberToOrdinal |num=2 }}
Luafout op regel 14: attempt to call global 'ipair' (a nil value)
Luafout op regel 14: attempt to call global 'ipair' (a nil value)
8ste
Luafout op regel 14: attempt to call global 'ipair' (a nil value)
Luafout op regel 14: attempt to call global 'ipair' (a nil value)
Luafout op regel 14: attempt to call global 'ipair' (a nil value)
local p = {}
p.convertNumberToOrdinal = function( frame )
local num = frame.args.num or nil
if num == nil then return "" end
local num = mw.text.trim( num )
if num == "1" then return "1ste" end
if num == "8" then return "8ste" end
-- do 2-9 first
local lastDigit = string.sub( num, -1)
local numeralsWithDeSuffix1 = { "2", "3", "4", "5", "6", "7", "9" }
for _,v in ipair( hasDeSuffix1 ) do
if lastDigit == v then
return num .. "de"
end
end
local lastTwoDigits = string.sub( num, -2)
local hasDeSuffix2 = { "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" }
for _,v in ipair( hasDeSuffix2 ) do
if lastTwoDigits == v then
return num .. "de"
end
end
-- else
return num .. "ste"
-- 1ste, 11de, 21ste, 31ste, 101ste
-- 8ste, 18de, 28ste
-- similar
-- 2de, 12de, 22ste, 32ste, etc.
-- 3rde, 13rde, 23ste, 33ste, ...
-- 4de, 14de, 24ste, ...
-- 5de, 15de, 25ste, ...
-- 6de, 16de, 26ste, ...
-- 7de, 17de, 27ste, ...
-- 9de, 19de, 29ste
-- 10de, 20ste, 21ste
end
return p
