Project

General

Profile

$hget » History » Revision 8

Revision 7 (Per Amundsen, 02/12/2021 06:43 AM) → Revision 8/9 (Per Amundsen, 02/23/2023 01:35 PM)

_Added in 1.9.4_ 

 *$hash(text, B)* 

 Returns a hash number based on text where B is the number of bits to use when calculating the hash number. 

 *Parameters* 
 _Added in 1.9.0_ 

 table(ktable). 
 |*Parameter*|*Description*| 
 *$hget(name|N)* 

 Returns name of a hash table if it exists, or returns the name of the Nth hash table. 

 _See also [[/hsave]], [[/hload]], [[/hmake]], [[/hfree]], [[/hdel]], [[$hfind]]._ 

 *Parameters* 

 table(ktable). 
 |*Parameter*|*Description*| 
 | name<notextile>|</notextile>N | name|N - Name of the hashtable or If N = 0, number of hashtables, otherwise the Nth hashtable name. | 

 *Properties* 

 table(ktable). 
 |*Property*|*Description*| 
 | .size | - Returns the size of the hashtable as specified in [[/hmake]]. | 

 *Example* 

 <pre> 
 ; Create a hashtable. 
 /hmake Example 

 ; Print number of hashtables. 
 //echo -ag $hget(0) 

 ; Print name and size of the first hashtable. 
 //echo -ag $hget(1) - $hget(1).size 
 </pre> 

 ----------------------------------------------------------------------------- 

 *$hget(name|N, item|N, [&binvar])* 

 Returns the data associated with an item in the specified hash table. 

 *Parameters* 

 table(ktable). 
 |*Parameter*|*Description*| 
 | name<notextile>|</notextile>N | name|N - Name of the hashtable or the Nth hashtable name. | 
 | item<notextile>|</notextile>N | item|N - Name of the item or if N = 0 number of items, otherwise the Nth item. | 
 | [&binvar] | - Assigns the contents of the item to a &binvar. (optional) | 

 *Properties* 

 table(ktable). 
 |*Property*|*Description*| 
 | .data | - Returns the item value. | 
 | .item | - Returns the item name. | 
 | .unset | - Returns number of seconds before the item is automatically removed (if set). | 
 | .hash | - TODO | 
 | .state | - TODO | 

 *Example* 

 <pre> 
 ; Create a hashtable 
 /hmake Example 

 ; Add a item to the hashtable 
 /hadd Example ExampleItem ExampleValue 

 ; Print number of items in the hastable. 
 //echo -ag $hget(Example, 0) 

 ; Print information about the first item in the hashtable. 
 //echo -ag Name is $hget(Example, 1).item Value is $hget(Example, 1).data Unset at $hget(Example, 1).unset 
 </pre> 
 table(ktable). 
 |*Parameter*|*Description*| 
 | text | Text to hash. | 
 | B | Number of bits to use. (min 2, max 32) |