Syntaxe
Indique si deux tables contiennent les mêmes clés avec les mêmes valeurs. L’ordre de création des entrées ne compte pas.
CompareMap(<first>(), <second>() [, <flags>])Les éléments
| <first> | La première table, avec ses parenthèses. |
|---|---|
| <second> | La seconde table, avec ses parenthèses. |
| <flags> | Facultatif. 0 (par défaut, #AK_MATCH_EXACT) compare à l’identique. #AK_MATCH_FOLD_CASE ignore la casse des clés et des valeurs texte. |
Rend
1 si les tables sont égales, 0 sinon, et 0 si elles ne contiennent pas le même type.
À savoir
- Les valeurs sont comparées en profondeur : les enregistrements, listes et tables des entrées sont comparés champ par champ.
- Toute autre valeur de
<flags>arrête le programme avec « Unknown BASIC CompareMap option ». - Lire une clé absente avec
m("key")la crée, et la nouvelle entrée compte alors dans la comparaison.
Exemple
NewMap a.s()NewMap b.s()a("x") = "Hi"a("y") = "yo"b("Y") = "YO"b("X") = "hi"Console(Str(CompareMap(a(), b()))) ' 0Console(Str(CompareMap(a(), b(), #AK_MATCH_FOLD_CASE))) ' 1Dans le manuel : Tableaux, listes et maps