User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

ifinditem [2007/02/27 04:57] (current)
Line 1: Line 1:
 +# $EPIC: ifinditem.txt,​v 1.2 2007/02/27 04:57:37 jnelson Exp $
 +$__ifinditem__(<​array>​ <​string>​) ​
 +If you remember with [[setitem]],​ you provided an array name, an item
 +number, and some stuff. ​ This function returns the index number of an item 
 +whose "​stuff"​ is <​string>​. ​ Because this function does a binary search,
 +if multiple items have the same "​stuff",​ there'​s no rule which one will
 +be returned.
 +To be more precise about it, this function returns a number //N// such that
 + igetitem(//​array//​ $ifinditem(//​array//​ //string//) === '//​string//'​
 +is true.  If multiple items in the array have the same value //string//,
 +which one is returned is undefined. ​ Check out [[ifindfirst]] to get the
 +first one, and [[ifinditems]] to get a list of all of them.  Check out 
 +[[finditem]] to get the item number instead of the index number.
 +These functions are useful when you want to see if a particular string is
 +present in an array. ​ Being sensitive to case, they are more precise than
 +the general pattern-matching functions.
 +  -2   item not found in array
 +  -1   array does not exist
 +> -1   ​item/​index number that matches input
 +/* contrived sample array */
 +$setitem(booya 0 blah)
 +$setitem(booya 1 foobar)
 +$setitem(booya 2 blah)
 +$finditem(booya blah)                   ​returns 0
 +$ifinditem(booya blah)                  returns 1
 +$ifindfirst(booya blah)                 ​returns 0
 +$finditem(booya Blah)                   ​returns -1
 +$finditem(foobar blah)                  returns -2
ifinditem.txt ยท Last modified: 2007/02/27 04:57 (external edit)