Moduuli:käänteissanakirja
Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:käänteissanakirja/ohje
local p = {}
local luokittelu = require("Moduuli:luokittelu")
local artikkeliaakkostaja = require("Moduuli:artikkeliaakkostaja")
local function teksti_takaperin(teksti)
local codepoints = {}
local len = mw.ustring.len(teksti)
for i = 1, len do
codepoints[i] = true
end
local i = len
for codepoint in mw.ustring.gcodepoint(teksti) do
codepoints[i] = codepoint
i = i - 1
end
return mw.ustring.char(unpack(codepoints))
end
local function aakkostusavain_takaperin(sivun_nimi, kielikoodi)
local aakkostaja = artikkeliaakkostaja.lataa_aakkostaja(kielikoodi)
local aakkostusavain = aakkostaja.kuvaa_merkkijono(sivun_nimi)
return teksti_takaperin(aakkostusavain)
end
function p.lisaa_kaanteissanakirjaan(kielikoodi, luokat)
local luokka = luokittelu.kielenLuokka(kielikoodi, "käänteissanakirja")
local sivun_nimi = mw.title.getCurrentTitle().text
luokat.aseta(luokka, aakkostusavain_takaperin(sivun_nimi, kielikoodi), 0)
end
function p.AakkostusavainTakaperin(frame)
local teksti = frame.args[1] or mw.title.getCurrentTitle().text
local lang = frame.args.kieli
if not teksti or not lang then
error("Virheelliset parametrit")
end
return aakkostusavain_takaperin(teksti, lang)
end
return p