Le type Hash!

1. Résumé

Une valeur de type hash! fournit une interface semblable à un bloc permettant des recherches rapides.

La fonction de hachage sous-jacente est une implémentation personnalisée de l’algorithme MurmurHash3.

Hash! appartient aux ensembles de types suivants: default!, series!, any-block!, any-list!

2. Création

Les valeurs de type Hash! peuvent être créées à l’exécution en utilisant le constructeur make ou la conversion avec to.

2.1. Création lors de l’exécution

>> list: make hash! [a 123 "hello" b c 789]
== make hash! [a 123 "hello" b c 789]
>> list: to hash! [a 123 "hello" b c 789]
== make hash! [a 123 "hello" b c 789]

3. Accès aux éléments d’un hash!

3.1. En utilisant la notation path! (chemin)

Obtenir une valeur, en utilisant la clé c.

>> list/c
== 789

Fixer une valeur, en utilisant la clé c.

>> list/c: 42
== 42

>> list
== make hash! [a 123 "hello" b c 42]

3.2. En utilisant find

>> find list 'b
== make hash! [b c 42]

3.3. En utilisant select

>> dict: make hash! [a 123 b 456 c 789]
== make hash! [a 123 b 456 c 789]

>> select dict 'c
== 789

>> dict: make hash! [2 123 4 456 6 2 8 789]
== make hash! [2 123 4 456 6 2 8 789]

>> select/skip dict 2 2
== 123

4. Opérations sur les ensembles de données

Les opérations suivantes sur les ensembles de données sont possibles avec les valeurs de type hash: difference, exclude, intersect, union, unique

>> dict1: make hash! [a 123 b 456 c 789]
== make hash! [a 123 b 456 c 789]

>> dict2: make hash! [2 123 4 456 6 2 8 789]
== make hash! [2 123 4 456 6 2 8 789]
>> difference dict1 dict2
== make hash! [a b c 2 4 6 8]
>> exclude dict1 dict2
== make hash! [a b c]
>> intersect dict1 dict2
== make hash! [123 456 789]
>> union dict1 dict2
== make hash! [a 123 b 456 c 789 2 4 6 8]
>> unique dict2
== make hash! [2 123 4 456 6 8 789]

5. Comparaisons

Tous les comparateurs peuvent être appliqués à Hash!: =, ==, <>, >, <, >=, <=, =?. De plus, min, et max sont aussi supportés.

6. Test de valeurs

Utilisez hash? pour vérifier si une valeur est du type Hash!.

>> hash? dict1
== true

Utilisez type? pour connaître le type d’une valeur donnée.

>> type? dict2
== hash!

7. Mots prédéfinis

7.1. Fonctions

average, hash?, path-thru, sum, to-hash

7.2. Natifs

checksum, difference, exclude, extend, intersect, union, unique

results matching ""

    No results matching ""