Saltu al enhavo

Vikipedio:Lua/Moduloj/Expr

El Vikipedio, la libera enciklopedio
Ŝablona programado Diskutoj Lua Testoj Subpaĝoj
Modulo Esperanto English

Modulo: Dokumentado

Expr – Modulo kun funkcioj por esprimoj aldone al tiuj de la parsilaj funkcioj #expr ofertataj ebloj.

La funkciorezultoj estas destinitaj por tio, esti uzataj kiel termoj ene de aliaj kalkuloj. Ili tial ne havas eblon komuniki erarojn per mesaĝoj aŭ zorgigaj kategorioj.

Funkcioj por ŝablonoj

La normaj funkcioj adresiĝas al #invoke kaj ĝiaj parametroj. Whitespace (do spacoj aŭ linisaltoj) antaŭ kaj post la valoroj estas ignorataj.

average
Kalkuli averaĝon
  • 1 – Unua nombro
  • 2 – Dua nombro
  • parse(nedeviga) nombroformato de la enigoj
  • 3(nedeviga) Pli nombro
  • 4 ktp. – (nedeviga) Pliaj nombroj, beliebig viele
La averaĝo estas ĉiam minimume 0 kaj nevalidaj valoroj estas ignorataj.
base62
Kodigo kaj malkodigo laŭ Base62.
  • 1 – prilaborota valoro
  • 2(nedeviga) D2B por dekuma-al-base62; defaŭlto: base62-al-dekuma
crossTotal
Kalkuli krucsumon
  • 1 – Pozitiva entjero, nur ciferoj (minusa signo kaj postkomaj ciferoj estas ignorataj)
0 se nevalida.
decimal2minsec
Konverti koordinatan valoron el decimala prezento al gradoj-minutoj-sekundoj
  • 1 – Dekuma nombro
  • 2(nedeviga) Nombro de la postkomaj ciferoj de la sekundoj (defaŭlto: neniu)
  • parse(nedeviga) nombroformato de la dekuma nombro
Rezulto: Protektita je linisalto <span>-elemento kun grado, minutoj, sekundoj, alie 0
figure
Kontrolu nombron je valideco kaj eventuale konverti
  • 1 – Nombro
  • parse(nedeviga) nombroformato
  • expr(nedeviga) 1 – Permesu kalkulesprimon laŭ la reguloj de la analiza funkcio #expr
  • set(nedeviga) Nombra gamo; Kondiĉo devas esti plenumita
    • R(defaŭlto) Reala nombro (do ajna)
    • R+ – Nombro pli granda ol aŭ egala al nul; do ne-negativa
    • R- – Nombro pli malgranda aŭ egala al nu; do ne-pozitiva
    • ZEntjero (laŭvalore)
    • NNatura nombro inklude nulo; do ne-negativa
    • Z+ – identa N
    • Z- – Entjero pli malgranda aŭ egala al nul; do ne-pozitiva
nenio se nevalida
max
Determini maksimumon el aro de nombroj.
Ĉiuj nenomitaj parametroj estas uzataj por la kalkulo.
  • Parametraj valoroj povas esti malplenaj aŭ enhavi esprimojn, kiuj estas analizeblaj per #expr.
  • Estas akceptata kaj la kutima minusa anstataŭa signo Bindestrich-Minus (U+002D) kaj la tipografia minus-signo (U+2212) (vidu malsupre).
  • Opcioj eblas en nomitaj parametroj:
    • minus – Minus-signo en rezulto; vidu malsupre
    • zeroBlank=1 – Prezenti nulon kiel malplenan valoron[1]
La redona valoro estas malplena signoĉeno („nenio“),se neniu parametra valoro aŭ nur malplenaj valoroj estis donitaj; ankaŭ erarmesaĝo por nevalida #expr povas aperi. Alie la kalkulita nombro en la specifita aranĝo.
min
Determini minimumon; alie ekzakte analogia al max.
minsec2decimal
Transkalkulas koordinatan valoron el grado-minutoj-sekundoj al dekumo
  • 1 – Grado
  • 2(nedeviga) Minutoj
  • 3(nedeviga) Sekundoj
  • 4(nedeviga) Libero por ĉieldirekto
  • parse(nedeviga) nombroformato de enigoj
0 se nevalida.
modulo
Modulo
  • 1 – nombrovaloro (dividato)
  • 2 – Ganzwert (bazo, dividanto, rilata valoro) Nulo ne permesata
  • 3(nedeviga) nombroformato de enigoj
0 se nevalida.
percent
Kalkulas procentaĵon el procenta valoro kaj baza valoro
  • 1 – ono
  • 2 – baza valoro (bazo, rilata valoro, 100 %) Nulo ne permesata
  • 3(nedeviga) nombro de postkomaj ciferoj (defaŭlto: neniu)
  • 4(nedeviga) konservi fermajn nulojn en la postkomaj ciferoj
  • parse(nedeviga) nombroformato de enigoj
  • low(nedeviga) rezulta formato, 1 por „komputila formato“ (defaŭlto: loka Vikio).
La rezulto fermiĝas per % kaj la nombrovaloro mem tial ne povas esti formatita.
0 se nevalida.
Ramanujan
random
(pseŭdo-)hazarda nombro (entjera)
  • 1(nedeviga) Bazo, normigo, nombro de valoroj (defaŭlto: 100), entjera >1.
Rezultoj estas entjeraj, komencantaj ĉe inklude nulo, plej granda valoro unu malpli ol nombro.
Ĉiu enplekto en la paĝo liveras sendependan kaj tial plej ofte malsaman rezulton. ĈE tri eblaj valoroj kaj kvar enplektoj ripetoj fakte ne eviteblas.
seed-valoroj por certigo de malsamaj valoroj ene de paĝo ne estas necesaj.
sum
Kalkulas sumon
  • 1 – Unua nombro
  • 2 – Dua nombro
  • parse(nedeviga) nombroformato de enigoj
  • 3(nedeviga) plia nombro
  • 4 ktp. – (nedeviga) pliaj nombroj, ajne multaj
La sumo estas ĉiam minimume 0 kaj nevalidaj valoroj estas ignorataj.
failsafe
Versiomanaĝado

Rekta enplekto en ŝablonoj

TemplateAverage
Kiel average, sed uzas ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
TemplateBooland
1, se ĉiuj parametroj estas „io“, alie „nenio“.
Uzu ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
TemplateBoolor
1, se unu parametro estas „io“, alie „nenio“.
Uzu ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
TemplateMax
Kiel max, sed speciale por Ŝablono:Max – uzas ĉiujn parametrojn de ĉirkaŭanta ŝablono.
TemplateMin
Kiel min, sed speciale por Ŝablono:Min – uzas ĉiujn parametrojn de ĉirkaŭanta ŝablono.
TemplateSum
Kiel sum, sed uzas ĉiujn parametrojn de la ĉirkaŭanta ŝablono.

Unicode-Minuszeichen

In den Eingabewerten kann sowohl das ASCII-Zeichen - auf der Tastatur (U+002D) als auch das typografische Minuszeichen − (U+2212) verwendet werden. Mit dem Minuszeichen wird wie folgt verfahren:

  • Enthält einer der Eingabewerte ein Unicode-Minus U+2212, wird dies auch im Ergebnis benutzt.
  • Option minus=1
    Ergebnis immer mit Unicode-Minus darstellen.[2]
  • Option minus=-
    Ergebnis immer mit ASCII-Bindestrich-Minus darstellen.

Ein Ergebnis mit Unicode-Minuszeichen ist zwangsläufig immer eine Zeichenkette.

nombroformato der Eingabe

Modul:Expr/Doku

Beispiele (Testseite)

Eine Testseite illustriert praktische Beispiele.

Anmerkungen

  1. La sola garantiita valoro estas 1 por „jes, vera“. Ĉiu specifo de la parametro havas la saman efikon, sed estas nedezirinda.
  2. Der einzig zugesicherte Wert ist 1 für „Unicode-Minus“. Jede Angabe des Parameters außer mit dem Wert - hat zwar die gleiche Wirkung, ist aber unerwünscht.

Ĝeneralaj atentigoj pri la enplektado de moduloj

Enplektado okazas ĉiam en la formato

{{#invoke: Expr | Funkcionomo | valoro1 | valoro2 | nomoX=valoro … }}

La parametroj povas esti nomitaj aŭ nenomitaj kiel ĉe ŝablonoj.

Se nekonata signoĉeno venas de ekstere (kiel ŝablonaj parametroj), ĉiam estu laborata kun la formo 1=valoro.

Pliajn informojn vi trovos sur Helpo:Lua.