Vikipedio:Lua/Petoj/Arkivo2

El Vikipedio, la libera enciklopedio

Problemo kun la modulo Geografiaĵoj/provejo[redakti fonton]

Saluton. Mi hodiaŭ kreis provejan varianton de la modulo {{Geografiaĵoj}}, nome {{Geografiaĵoj/provejo}}. El ĝi mi volis krei modulon, kiu iom post iom ricevus pli da ĉefaj funkcioj por diversaj informkestoj kaj pliajn submodulojn. Bedaŭrinde la parametroj ne funkcias. Mi pensas, ke jena linio faras problemojn:

				-- voki la parametron el args
				local param = args[par]	or ""

Ĉu entute eblas indeksi la parametrojn per variablo, kies valoro estiĝis el enplektita submodulo? Se jes, kiel? Bonvolu unue skribi ĉi tie eventualajn klarigojn. Mi finfine volas kompreni kial frame.args kaj ĝiaj kopioj kiel ekz. args havas tiajn strangajn limojn. Se vi mem volas testi en la modulo, bonvolu krei duan provejan version Modulo:Geografiaĵoj/provejo2. Dankon. --Tlustulimu (diskuto) 22:14, 7 Feb. 2016 (UTC)

Mi ĵus kreis la duan provejon {{Geografiaĵoj/provejo2}}. Bonvolu provi tie. Dankon. --Tlustulimu (diskuto) 22:20, 7 Feb. 2016 (UTC)
Saluton, Tlustulimu! Viaj koderoj jam estas tre progresintaj. Mi bezonas tempon por ludi kun ili, eble hodiaŭ vespere ... Kuraĝon kaj sukceson intertempe! --Doesle (diskuto) 08:44, 8 Feb. 2016 (UTC)
@Doesle: Dankon pro via laŭdo. Sed mi ankoraŭ volas lerni pli pri Lua. Mi hodiaŭ programis iomete, tiel ke nun iomete pli da parametroj funkcias. Mi pensas, ke la fuŝo nun estas aliloke en la modulo, nome ĉe:
		for k, v in pairs(listo) do
Nur la unua parametro, kiu en tiu parto estas traktata, nun funkcias. Ĉiuj sekvaj ne funkcias. Tio signifas, ke for nur iteracias unufoje. Ĉu ne? Sed mi ankoraŭ ne bone scias, kiel oni iteracias tabelon en tabelo, kiel videblas en {{Geografiaĵoj/geokesto}}. --Tlustulimu (diskuto) 19:35, 8 Feb. 2016 (UTC)
for iteracias unufoje, hmm, mi ne bone komprenas. Ĉu vi celas diri: for ne faras rekursion en listojn enhavitajn en valoro? Se tio, vi bezonas rekursian esprimon por atingi, ke ankaŭ tabelaj valoroj estas konsiderataj. Ion tian via bezonas do --Doesle (diskuto) 19:55, 8 Feb. 2016 (UTC)
    local function miaFor(super, l)
         local k,v
         for k,v in pairs(l) do
            if (type(v) ~= "table") then
                -- tio, kion vi volas fari
                -- konsciu, ke eble en super troviĝas "gepatra" nomo,
                -- kiun vi devas uzi/konsideri en la prilaborado
            else
                miaFor(k, v)
            end
        end
    end
    miaFor(nil, listo)
@Doesle: Mi pensas, ke for eble estas iel maltaŭge uzata en la modulo. Bedaŭrinde mi ne havas ideon, kiel mi devus ŝanĝi tion. :( --Tlustulimu (diskuto) 20:06, 8 Feb. 2016 (UTC)
@Tlustulimu: Ĉu vi jam uzas la ŝablonon/modulon en iu testpaĝo, kie mi almenaŭ povas vidi la erarmesaĝon? Mi konfesas, ke kun tiom da subŝablonoj mi havas malfacilaĵojn, scii, kio okazas ... --Doesle (diskuto) 20:17, 8 Feb. 2016 (UTC)
@Doesle: La testopaĝo estas Vikipedio:Lua/Moduloj/Geografiaĵoj/testoj. Ĝi sekvas la nomskemon de modulaj testopaĝoj, kiun mi foje proponis en Vikipedio:Lua/Paĝa organizado kaj dokumentado. Tiun nomskemon mi transprenis laŭ la germana vikipedio, sed tradukis iomete. Sed nun ne estas erarmesaĝoj sur la testopaĝo. --Tlustulimu (diskuto) 20:22, 8 Feb. 2016 (UTC)

@Tlustulimu: Ah, dankon, nun (rigardante la submodulon Modulo:Geografiaĵoj/testado mi komprenas, kiun celon havas la kodo local variabloj = 'Modulo:Geografiaĵoj/' .. submodulo; parametroj = mw.loadData(variabloj). Mankis al mi la dosiero kun variabloj por povi ekcerbumi, kio ne funkcias en la kodo ... :-) --Doesle (diskuto) 20:43, 8 Feb. 2016 (UTC)

@Doesle: Mi ĵus trovis la eraron kaj korektis ĝin en {{Geografiaĵoj/provejo2}}. Iu kodopeco kun return r staris je la fino de for, tiel ke ĝi nur unufoje povis iteracii. Nun la informkesto iomete funkcias. Morgaŭ mi aldonos pliajn funkciojn. Tamen dankon pro via subteno. :-) --Tlustulimu (diskuto) 21:50, 8 Feb. 2016 (UTC)
@Tlustulimu: Hura! Ne dankinde, mi ja faris preskaŭ nenion. --Doesle (diskuto) 22:24, 8 Feb. 2016 (UTC)

Problemo kun la modulo Geografiaĵoj/provejo2 kun tiea nova funkcio[redakti fonton]

Ząbrowo
urbo
Administrado
ŜtatoPollando
ProvincoPomeria provinco
KomunumoStare Pole
Demografio
Loĝantaro423
Geografio
Geografia situo54° 5′ N, 19° 13′ O (mapo)54.09055555555619.216944444444Koordinatoj: 54° 5′ N, 19° 13′ O (mapo)
Ząbrowo (Pollando)
Ząbrowo (Pollando)
DEC
Ząbrowo
Ząbrowo
Situo de Ząbrowo
vdr

Saluton. Mi hodiaŭ aldonis la funkcion p.urbo al la proveja modulo {{Geografiaĵoj/provejo2}} kaj kreis por ĝi novan submodulon {{Geografiaĵoj/urbo}}. La dekstre videbla informkesto ial ne ĝuste funkciasfunkciis[1]. Ĉu eble iu el vi trovas fuŝon en la modula kodo? La submodulo verŝajne ne estas la kialo, ĉar mi ja sukcesis eldoni ĝiajn valorojn "parametro" kaj "tipo" per la funkcio urbo de mia testa modulo. Jen la testo per ĝi: {{#invoke:Uzanto:Tlustulimu/Testmodulo|urbo}}

  • parametro: propra nomo / tipo: subtitolo /
  • parametro: devena_nomo / tipo: subtitolo /
  • parametro: plia nomo / tipo: subtitolo /
  • parametro: nomoj / tipo: aldono /
  • parametro: kaŝitaj nomoj / tipo: aldono /
  • parametro: tipo / tipo: subtitolo /
  • parametro: bildo / tipo: bildo /
  • parametro: estas / tipo: listo2 /
  • parametro: flago / tipo: bildo2 /
  • parametro: devizo / tipo: subtitolo /
  • parametro: subtitolo1 / tipo: subtitolo3 /
  • parametro: statuso / tipo: teksto /
  • parametro: lando / tipo: listo /
  • parametro: ŝtato / tipo: teksto /
  • parametro: regiono / tipo: teksto /
  • parametro: aŭtonomio / tipo: teksto /
  • parametro: mikroregiono / tipo: teksto /
  • parametro: provinco / tipo: teksto /
  • parametro: departemento / tipo: teksto /
  • parametro: distriktaro / tipo: teksto /
  • parametro: arondismento / tipo: teksto /
  • parametro: kantono / tipo: teksto /
  • parametro: distrikto / tipo: teksto /
  • parametro: municipo / tipo: teksto /
  • parametro: komunumo / tipo: teksto /
  • parametro: administra unuo1 / tipo: teksto /
  • parametro: administra unuo2 / tipo: teksto /
  • parametro: administra unuo3 / tipo: teksto /
  • parametro: administra unuo4 / tipo: teksto /
  • parametro: administra unuo5 / tipo: teksto /
  • parametro: historiaj regionoj / tipo: teksto /
  • parametro: fondo / tipo: teksto /
  • parametro: malfondo / tipo: teksto /
  • parametro: malapero / tipo: teksto /
  • parametro: urborajto / tipo: teksto /
  • parametro: patrono / tipo: teksto /
  • parametro: adreso / tipo: teksto /
  • parametro: interkom / tipo: teksto /
  • parametro: ĝemel / tipo: teksto /
  • parametro: INSEE / tipo: teksto /
  • parametro: subtitolo2 / tipo: subtitolo3 /
  • parametro: pk / tipo: teksto /
  • parametro: aŭto / tipo: teksto /
  • parametro: tel / tipo: teksto /
  • parametro: kodo / tipo: kodo /
  • parametro: kodo2 / tipo: kodo /
  • parametro: kodo3 / tipo: kodo /
  • parametro: retejo / tipo: ligilo /
  • parametro: subtitolo3 / tipo: subtitolo3 /
  • parametro: registaro / tipo: teksto /
  • parametro: komunuma konsilantaro / tipo: teksto /
  • parametro: estro / tipo: ekde /
  • parametro: subtitolo4 / tipo: subtitolo3 /
  • parametro: loĝantaro / tipo: loĝantaro /
  • parametro: m-loĝantaro / tipo: loĝantaro /
  • parametro: aglomeracio / tipo: loĝantaro /
  • parametro: denseco / tipo: denso /
  • parametro: m-denseco / tipo: denso /
  • parametro: HDI / tipo: teksto /
  • parametro: subtitolo5 / tipo: subtitolo3 /
  • parametro: koordinatoj / tipo: koordinatoj /
  • parametro: alto / tipo: altitudo /
  • parametro: plej alta punkto / tipo: teksto /
  • parametro: plej malalta punkto / tipo: teksto /
  • parametro: areo / tipo: areo /
  • parametro: m-areo / tipo: areo /
  • parametro: tera areo / tipo: areo /
  • parametro: akva areo / tipo: areo /
  • parametro: horzono / tipo: listo /
  • parametro: strato / tipo: teksto /
  • parametro: montaro / tipo: teksto /
  • parametro: mapfaldo / tipo: faldokomenco /
  • parametro: mapo / tipo: bildo /
  • parametro: mapo2 / tipo: bildo /
  • parametro: situo sur mapo / tipo: mapo /
  • parametro: situo sur mapo2 / tipo: mapo /
  • parametro: ŝanĝebla mapo / tipo: mapo2 /
  • parametro: mapligilo / tipo: mapligilo /
  • parametro: mapfaldo / tipo: faldofino /
  • parametro: subtitolo6 / tipo: subtitolo3 /
  • parametro: flago2 / tipo: bildo2 /
  • parametro: mapo2a / tipo: bildo /
  • parametro: areo2 / tipo: areo /
  • parametro: loĝantaro2 / tipo: numero /
  • parametro: denso2 / tipo: denso /
  • parametro: partoj / tipo: listo /
  • parametro: subtitolo7 / tipo: subtitolo3 /
  • parametro: adreso2 / tipo: teksto /
  • parametro: estro2 / tipo: ekde /
  • parametro: bildo2 / tipo: bildo /
  • parametro: subtitolo8 / tipo: subtitolo3 /
  • parametro: arbo / tipo: teksto /
  • parametro: floro / tipo: teksto /
  • parametro: birdo / tipo: teksto /
  • parametro: fiŝo / tipo: teksto /
  • parametro: besto / tipo: teksto /
  • parametro: maskoto / tipo: teksto /
  • parametro: subtitolo9 / tipo: subtitolo3 /
  • parametro: parametro1 / tipo: teksto /
  • parametro: parametro2 / tipo: teksto /
  • parametro: parametro3 / tipo: teksto /
  • parametro: parametro4 / tipo: teksto /
  • parametro: parametro5 / tipo: teksto /
  • parametro: parametro6 / tipo: teksto /
  • parametro: parametro7 / tipo: teksto /
  • parametro: parametro8 / tipo: teksto /
  • parametro: parametro9 / tipo: teksto /
  • parametro: subtitolo10 / tipo: subtitolo3 /
  • parametro: komunejo / tipo: komunejo /
  • parametro: subtitolo11 / tipo: subtitolo3 /
  • parametro: esperanto-asocio / tipo: teksto /
  • parametro: aldono / tipo: aldono /
  • parametro: kesteroj / tipo: aldono /
  • parametro: kaŝitaj kesteroj / tipo: aldono /


La testita kodo de la dekstre videbla informkesto estas:
{{#invoke:Geografiaĵoj/provejo2|urbo
|tipo= urbo
|nomo=Ząbrowo
|ŝtato=[[Pollando]]
|provinco=[[Pomeria provinco]]
|komunumo=[[Stare Pole]]
|latitudo=54/5/26
|longitudo=19/13/1
|regiono-ISO=PL
|loĝantaro=423
}}

Mi ne scias, ĉu estas iu problemo kun frameframe.args. Ja funkcias kelkaj parametroj, nome tipo kaj nomo, sed neniu el tiuj, kiuj estas iel truke difinitaj en la submodulo. :-( Mi ja ne volas rezigni pri la truko kun submodulo, do ŝtato, provinco kaj komunumo. (La sekvajn mi ankoraŭ ne aldonis al la submondulo, ĉar ja testo estis malsukcesa.) La ideo pri submoduloj ja bone funkcias ĉe {{informkesto geografiaĵoj}}, eĉ se tio ankoraŭ ne pretas. --Tlustulimu (diskuto) 19:18, 15 Feb. 2016 (UTC)

Ząbrowo
urbo
Administrado
ŜtatoPollando
ProvincoPomeria provinco
KomunumoStare Pole
Demografio
Loĝantaro423
Geografio
Geografia situo54° 5′ N, 19° 13′ O (mapo)54.09055555555619.216944444444Koordinatoj: 54° 5′ N, 19° 13′ O (mapo)
Ząbrowo (Pollando)
Ząbrowo (Pollando)
DEC
Ząbrowo
Ząbrowo
Situo de Ząbrowo
vdr
(+) Strangas sufiĉe, ke bildo funkcias, kvankam la parametro estas difinata truke per la submodulo. --Tlustulimu (diskuto) 19:30, 15 Feb. 2016 (UTC)
La apero de bildo gvidis min al solvo, kiun mi ĵus eĉ trovis. Nun la fuŝo devus esti for. Bonŝance frameframe.args ne estis la kaŭzantoj, sed foresto de kodopeco en helpa funkcio notaldono. Ĝi redonis nenion, se certaj parametroj forestis anstataŭ la senŝanĝan enigan tekston. Tial ĉio malaperis en la koncernaj partoj de la informkesto. --Tlustulimu (diskuto) 20:27, 15 Feb. 2016 (UTC)
  1. Korektita, ĉar ja nun bone funkcias eĉ, escepte de la ankoraŭ ne aldonditaj parametroj.