General > General Programming
sklick-c: how do I check if a key exists in a hash table ?
(1/1)
jcelle:
Hello community,
I came across this one today...
How can I check if a key has already been defined in a hash table ?
Looks pretty simple but I am stuck.
Should I test for null ?
--- Code: ---if( null == myHash[1965] )...
--- End code ---
Only thing I found is iterate over _get_hashtab_keys() and look for my key which looks weird.
Thanks for any advice.
jcelle:
oups :o
Just realized there was a slick-c dedicated forum, going there...
Graeme:
Use _indexin. It seems to be missing from the description of hash tables in the help.
--- Code: ---/**
* @return
* Returns non-zero pointer to element if element exists at index given.
*
* @param index index or key corresponding to item to look for
*
* @example
* <pre>
* defmain()
* {
* typeless a:[];
* a:['sdf']._makeempty(); // a._indexin('sdf') will be false
*
* a:['key1']=5; // a._indexin('key1') will be true
* }
* </pre>
*
* @see _el
* @see _nextel
* @see _makeempty
* @see _isempty
* @see _varformat
* @see _indexin
* @see _sort
*
* @categories Miscellaneous_Functions
*/
typeless *_indexin(_str index),
*_sc_lang_collection::_indexin(_str index);
--- End code ---
jcelle:
Nice one, works like a charm !
Thanks Graeme.
Navigation
[0] Message Index
Go to full version