Ordinal funksiyasının nəticələrinə dair nümunələr

redaktə
  • {{#invoke:Ordinal|ordinal|0}} → 0-cı
  • {{#invoke:Ordinal|ordinal|1}} → 1-ci
  • {{#invoke:Ordinal|ordinal|2}} → 2-ci
  • {{#invoke:Ordinal|ordinal|3}} → 3-cü
  • {{#invoke:Ordinal|ordinal|4}} → 4-cü
  • {{#invoke:Ordinal|ordinal|5}} → 5-ci
  • {{#invoke:Ordinal|ordinal|6}} → 6-cı
  • {{#invoke:Ordinal|ordinal|7}} → 7-ci
  • {{#invoke:Ordinal|ordinal|8}} → 8-ci
  • {{#invoke:Ordinal|ordinal|9}} → 9-cu
  • {{#invoke:Ordinal|ordinal|10}} → 10-cu
  • {{#invoke:Ordinal|ordinal|100}} → 100-cü
  • {{#invoke:Ordinal|ordinal|1000}} → 1000-ci

-- Ordinals for Azerbaijani by RexxS
-- Takes a number and returns its ordinal.

local suffixes = {
	"ci", "ci", "cü", "cü", "ci", "cı", "ci", "ci", "cu", [0] = "cu", [10] = "cu", [20] = "ci",
	[30] = "cu", [40] = "cı", [50] = "ci", [60] = "cı", [70] = "ci", [80] = "ci", [90] = "cı"
}

local function ordinal(number)
	local suffix
	if number == 0 then
		suffix = "cı"
	elseif number % 1000 == 0 then
		suffix = "ci"
	elseif number %100 == 0 then
		suffix = "cü"
	elseif number %10 == 0 then
		suffix = suffixes[number % 100]
	else
		suffix = suffixes[number %10] or ""
	end
	return number .. "-" .. suffix
end

-- Just for testing by allowing a #invoke: call
p = {}

function p.Ordinal(frame)
	number = tonumber(frame.args[1] or frame.args.number) or 0
	return ordinal(number)
end

return p