Ir al contenido

Módulo:Wikidata/unidades/doc

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 16:45 19 sep 2020 por Amitie 10g (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Este módulo implementa desde cero una forma de obtener las unidades, en base a la entidad de Wikidata asociada a dicha unidad. Toda actualización debe hacerse en Módulo:Wikidata/unidades/datos, siguiendo este formato:

--  Entidad     Texto
    ['Q8805'] = '[[Bit|b]]',

Uso

main()

Para integrar la funcionalidad en otros módulos, se puede seguir el siguiente código de ejemplo:

local getUnit       = require('Módulo:Wikidata/unidades').main
local elementoTabla = require('Módulo:Tablas').elemento

local Dato  = elementoTabla(Entidad, 'claims', idPropiedad, 'mainsnak', 'datavalue')
local Valor = elementoTabla(Dato, 'value')
local Tipo  = elementoTabla(Dato, 'type')

if Tipo == 'quantity' then
    Unidad      = elementoTabla(Valor, 'mainsnak', 'datavalue', 'value', 'unit')
    Valor       = string.sub(elementoTabla(Valor, 'claims', idPropiedad, 'mainsnak', 'datavalue', 'value', 'amount'), 2)
    if Unidad then Valor = Valor .. getUnit(Unidad) end -- La posición y espaciado de la unidad depende del valor
end

Parámetros

  • |val= el identificador de unidad de Wikidata.

numeroUnidad()

Se provee la función auxiliar numeroUnidad como una forma conveniente de concatenar el número con su unidad disponible.

local numeroUnidad	= require('Módulo:Wikidata/unidades').numeroUnidad
...
local Edad = numeroUnidad(elementoTabla(Entidad, 'claims', 'P6249', 1, 'mainsnak', 'datavalue', 'value'))

Parámetros

  • |objeto= el objeto datavalue.value
  • |right= especificar dónde colocar la unidad (derecha con espacio por defecto; false para colocarla a la izquierda sin espacio).
  • |separador= especificar un separador alternativo.

numeroUnidad() acepta como parámetro el objeto datavalue.value. Si el tipo de dato es amount, y se ha especificado una unidad válida, dicha unidad será concatenada de acuerdo a los parámetros |right= y |separador=

¿Por qué los datos en un módulo separado?

Véase la función loadData() de la extensión Scribunto para más información.