Módulo:Ordinal

Permanently protected module
Origem: Wikipédia, a enciclopédia livre.
Documentação do módulo[ver] [editar] [histórico] [purgar]

Descrição

Este módulo adiciona o sufixo de número ordinal a um número inteiro. Foi projetado para auxiliar demais módulos e compartimentalizar essa função.

Uso

  • {{#invoke:Ordinal|ordinal|<valor>|<artigo>}}
  • {{#invoke:Ordinal|ordinal|valor=<valor>|artigo=<artigo>}}

Cabeçalho de TemplateData

As informações a seguir (editar) são definidas com TemplateData. Isso possibilita o seu uso pelo Editor Visual e por outras ferramentas.

Transforma um número inteiro em um número ordinal

Parâmetros da predefinição[Editar dados da predefinição]

Esta predefinição prefere a formatação em linha dos parâmetros.

ParâmetroDescriçãoTipoEstado
11 valor

número inteiro a ser transformado em número ordinal

Exemplo
13
Númeroobrigatório
22 artigo genero flexao

flexão de gênero do número

Padrão
"f" ou "m", para flexão no feminino e no masculino, respectivamente
Exemplo
f
Valor automático
m
Stringrecomendado

Testes unitários

Abaixo estão listados testes unitários deste módulo, de modo a garantir o funcionamento do módulo em todos os casos que ele se propõe a cobrir e que ao ser atualizado ou modificado, continue a garantir seu funcionamento integral.

Todos os testes passaram.

test_module
Texto Esperado Atual
Sim {{#invoke:Ordinal|ordinal|1|m}}
Sim {{#invoke:Ordinal|ordinal|1|f}}
Sim {{#invoke:Ordinal|ordinal|12345|m}} 12345º 12345º
Sim {{#invoke:Ordinal|ordinal|12345|f}} 12345ª 12345ª
Sim {{#invoke:Ordinal|ordinal|12345}} 12345º 12345º
test_template
Texto Esperado Atual
Sim {{Ordinal|1|m}}
Sim {{Ordinal|1|f}}
Sim {{Ordinal|12345|m}} 12345º 12345º
Sim {{Ordinal|12345|f}} 12345ª 12345ª
Sim {{Ordinal|12345}} 12345º 12345º

local p = {}

-------------------------------------------------------------------------------
-- Ordinal converte um número inteiro em um numeral seguido do indicador de
-- número ordinal.
-------------------------------------------------------------------------------
function p.ordinal(frame)
	local valor = frame.args[1] or frame.args.valor
	local artigo = frame.args[2] or frame.args.artigo
	local sufixo = "º"
	if artigo == "f" then sufixo = "ª" end
	return valor .. sufixo
end

return p