想问各位一个问题呵,不知道有没有好的可行的方法。
就是例如我一个hash table中有3个key:a,s和d,有一个值:v。
我现在想把这个table中的v值find到另一张大表中。
常规情况直接 rc = h.find(); 就可以了,不过我现在merge的规则打算这样:
先按照a来做key进行find,find不到了;
再按照a和s做key进行find,还是find不到了;
最后按3个key做最后一次index。
目前我自己可用的就是建三张table,分别 find 3次;可是我还是希望能够有直接的方法。
类似于:h.definekey('a','s','d') & h.find(key:a,key:s);
谢谢
我理想的就是这样:
在want表在have中查找时,我能保证每一组keys对应的情况都是唯一的。
目前用的办法是利用%do + %sysfunc( byte( &i. + 65 构造了三张表,做逐步的查找;若是能一张表就完成该多好。
其实我这个例子中,在want里做一个:(a,s,d) => (a,s,.) => (a,.,.)的循环查找也行;不过总感觉没建立三个表来的放心。
例如我have表中的第一个情况变成了:
1 . 777 123那也就出问题了,(1 . .)是找不到的,但是(1)就能找到。