Daniel@0: function ndx = hash_del(key, fname) Daniel@0: % HASH_DEL Remove all entries that match key from hashtable stored in a file Daniel@0: % ndx = hash_del(key, fname) Daniel@0: % Daniel@0: % Returns indices of matching entries (if any) Daniel@0: % See hash_lookup for an example Daniel@0: Daniel@0: ndx = []; Daniel@0: Daniel@0: if ~exist(fname, 'file') Daniel@0: % new hashtable - no op Daniel@0: else Daniel@0: %hashtable = importdata(fname); Daniel@0: %hashtable = load(fname, '-mat'); Daniel@0: load(fname, '-mat'); Daniel@0: Nentries = length(hashtable.key); Daniel@0: for i=1:Nentries Daniel@0: if isequal(hashtable.key{i}, key) Daniel@0: ndx = [ndx i]; Daniel@0: end Daniel@0: end Daniel@0: hashtable.key(ndx) = []; Daniel@0: hashtable.value(ndx) = []; Daniel@0: save(fname, 'hashtable', '-mat'); Daniel@0: end Daniel@0: