CompareMap

Commande de map

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)))   ' 1
Dans le manuel : Tableaux, listes et maps