Re: Possible idea for a new built-in in Eu 2.4
- Posted by jordah at btopenworld.com Feb 05, 2003
- 426 views
----- Original Message ----- From: <Christian.CUVIER at agriculture.gouv.fr> To: "EUforum" <EUforum at topica.com> Subject: Possible idea for a new built-in in Eu 2.4 > > Hi the list! > I often wind up with having to search for a key at a fixed place in a > sequence of sequences. The following obviously does the job: > > <code> > function ffind(object key,integer field,sequence target) > --scans the field-th elements of target for key > --returns index of first record with matching entry or 0 if none found > for i=1 to length(target) do > if target[i][field]=key then return i end if > end for > --not found in this "column" > return 0 > end function > </code> What happens when key is a sequence? The above function looks to work best for atoms,. Try it this way ------------------------------------------- function ffind(object key,integer field,sequence target) ------------------------------------------- for n = 1 to length(target) by 1 do if not compare(target[n][field],key) then return n end if end for return 0 end function > > But it may be slow if target is large enough, and I suspect that, > internally, there could be a way to do something like > > <notional code> > function ffind(object key,integer field,sequence target) > --same purpose, args and returns as above > return find(key,target[..][field]) > end function > </notional code> Yes, i think if there was an internal way of doing that it would be helpful....however there is none that i know of. It all boils down to looping through the sequence, sorry Jordah > > Would the built-in be significantly faster? And is there a chance that > it appears in Eu 2.4? > > CChris > > > > TOPICA - Start your own email discussion group. FREE! > ---