<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://baripedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ATableBuilder%2FDocumentation</id>
	<title>Module:TableBuilder/Documentation - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://baripedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ATableBuilder%2FDocumentation"/>
	<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:TableBuilder/Documentation&amp;action=history"/>
	<updated>2026-06-17T14:43:59Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.38.6</generator>
	<entry>
		<id>https://baripedia.org/index.php?title=Module:TableBuilder/Documentation&amp;diff=7817&amp;oldid=prev</id>
		<title>Arthur : 1 version</title>
		<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:TableBuilder/Documentation&amp;diff=7817&amp;oldid=prev"/>
		<updated>2014-01-13T22:02:24Z</updated>

		<summary type="html">&lt;p&gt;1 version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Protection}}&lt;br /&gt;
TableBuilder est un module qui applique aux fonctions de la [[mw:Extension:Scribunto/Lua reference manual/fr#Librairie Table|librairie Table]] une [[Désignation chaînée|interface fluide]]. Le code est ainsi à la fois plus concis et plus clair.&lt;br /&gt;
&lt;br /&gt;
Attention : ce module ne devrait être utilisé que pour des tables [[:mw:Extension:Scribunto/Lua_reference_manual/fr#s.C3.A9quence|séquences]], ou au pire des tables dont les éléments sont connu 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.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
Vous devez premièrement charger le module :&lt;br /&gt;
&lt;br /&gt;
{{code|lang=lua|code=local TableBuilder = require('Module:TableBuilder')}}&lt;br /&gt;
&lt;br /&gt;
Deuxièmement, vous devez instancier le tableau, avec &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; pour une nouvelle table, avec &amp;lt;code&amp;gt;set&amp;lt;/code&amp;gt; pour une table existante, ou en clonant une table existante.&lt;br /&gt;
&lt;br /&gt;
{{code|lang=lua|code=local tab1 = TableBuilder.new()}}&amp;lt;br /&amp;gt;&lt;br /&gt;
{{code|lang=lua|code=TableBuilder.set(tab2)}}&amp;lt;br /&amp;gt;&lt;br /&gt;
{{code|lang=lua|code=local tab1 = TableBuilder.clone(tab3)}}&lt;br /&gt;
&lt;br /&gt;
Ensuite, vous pouvez utiliser les méthodes énumérées dans la [[mw:Extension:Scribunto/Lua reference manual/fr#Librairie Table|librairie Table]] (&amp;lt;code&amp;gt;insert&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;remove&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maxn&amp;lt;/code&amp;gt;) ou une des fonctions spécifiques décrite ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Enfin, vous devez concaténer la table en utilisant la méthode &amp;lt;code&amp;gt;concat()&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tab.concat()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fonction specifique ==&lt;br /&gt;
* &amp;lt;code&amp;gt;minsert( ... )&amp;lt;/code&amp;gt; — permet des inserts multiples, 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tinsert( table2, i, j )&amp;lt;/code&amp;gt; — ajoute à la fin de la table les éléments &amp;lt;code&amp;gt;table2[i]&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;table2[j]&amp;lt;/code&amp;gt;. La valeur par défaut de &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; est 1, et la valeur par défaut de &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; est la longueur de la table. Si &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; est plus grand que &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; aucun élément n'est ajouté.&lt;br /&gt;
&lt;br /&gt;
== clone == &lt;br /&gt;
&amp;lt;code&amp;gt;TableBuilder.clone&amp;lt;/code&amp;gt; duplique une table existante, de façon récursive. &lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;mw.loadData&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Cette fonction ne devrait pas être utilisée sur la totalité de la table chargée par loadData (utiliser &amp;lt;code&amp;gt;require&amp;lt;/code&amp;gt; sera plus économe en mémoire) mais sur une petite sous-table.&lt;br /&gt;
&lt;br /&gt;
== Exemples ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local TableBuilder = require( 'Module:TableBuilder' )&lt;br /&gt;
&lt;br /&gt;
local date = { 'Cet exemple a été modifié le' }&lt;br /&gt;
&lt;br /&gt;
TableBuilder.set( date )&lt;br /&gt;
&lt;br /&gt;
date.insert( &amp;quot;4&amp;quot; )&lt;br /&gt;
    .insert( &amp;quot;2013&amp;quot; )&lt;br /&gt;
    .insert( 3, &amp;quot;septembre&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
local time = TableBuilder.new()&lt;br /&gt;
local heure, minute = &amp;quot;12&amp;quot;, &amp;quot;8&amp;quot;&lt;br /&gt;
local seconde&lt;br /&gt;
&lt;br /&gt;
time.minsert( &amp;quot;à&amp;quot;, heure, &amp;quot;heures et&amp;quot;, minute, &amp;quot;minutes&amp;quot;, seconde, seconde and &amp;quot;secondes&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
date.tinsert( time )&lt;br /&gt;
&lt;br /&gt;
local s = date.concat( ' ' ) .. &amp;quot;.&amp;quot;&lt;br /&gt;
--s = 'Cet exemple a été modifié le 4 septembre 2013 à 12 h et 8 minutes.'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{Projet Scribunto}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Catégorie:Documentation de module]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthur</name></author>
	</entry>
</feed>