Vikipedio:Lua/Moduloj/TableBuilder/eo

Ŝablona programado Diskutoj Lua Testoj Subpaĝoj
Modulo Esperanto English

Français

Modulo: Dokumentado


TableBuilder estas modulo, kiu aplikas al funkcioj de la librairie Table interface fluide. La kodo estas tiel samtempe pli konciza kaj pli klara.

Por ŝablonoj redakti

Ne estas funkcioj rekte uzeblaj en ŝablonoj.

Por moduloj redakti

Atento : ĉi tiu modulo nur estas uzata por tabeloj séquences, ou au pire des tables dont les éléments sont connus et limités. En effet, ajouter à la table un élément ayant pour index le nom d'une de ces fonctions remplace la fonction par cet élément.

Vi devas unue ŝarĝi la modulon:

local TableBuilder = require('Modulo:TableBuilder')

Due, vi devas instanci la tabelon, per new por nova tabelo, per set por ekzistanta tabelo, aŭ klonante ekzistantan tabelon.

local tab1 = TableBuilder.new()
TableBuilder.set(tab2)
local tab1 = TableBuilder.clone(tab3)

Poste vi povas uzi la nomitajn metodojn sur la librairie Table (insert, remove, sort, maxn) aŭ une des fonctions spécifiques décrites ci-dessous.

Finfine vi devas kunĉenigi la tabelon uzante la metodon concat() :

tab.concat()

Specifa funkcio redakti

  • minsert( ... ) — ebligas multfojan enigon, pour ajouter en une opération plusieurs éléments à la fin de la table. Les paramètres nil passés à la fonction sont ignorés.
  • tinsert( table2, i, j ) — ajoute à la fin de la table les éléments table2[i] à table2[j]. La valeur par défaut de i est 1, et la valeur par défaut de j est la longueur de la table. Si i est plus grand que j aucun élément n'est ajouté.

TableBuilder.clone duobligas ekzistantan tabelon, de façon récursive.

Contrairement à mw.clone, cette fonction ne clone pas la meta-table, mais utilise la meta-table de TableBuilder. Ceci permet notamment de modifier une table chargée par mw.loadData.

Ĉi tiu funkcio ne devas esti uzata sur la totalité de la tabelo ŝarĝata per loadData (uzi require sera pli ekonomie en mémoire) mais sur une petite sous-table.

Ekzemploj redakti

local TableBuilder = require( 'Modulo:TableBuilder' )

local date = { 'Ĉi tiu ekzemplo a été modifié le' }

TableBuilder.set( date )

date.insert( "4" )
    .insert( "2013" )
    .insert( 3, "septembre" )

local time = TableBuilder.new()
local heure, minute = "12", "8"
local seconde

time.minsert( "à", heure, "heures et", minute, "minutes", seconde, seconde and "secondes" )

date.tinsert( time )

local s = date.concat( ' ' ) .. "."
--s = 'Cet exemple a été modifié le 4 septembre 2013 à 12 h et 8 minutes.'

Dependeco redakti

  • Neniu

Deveno redakti