Task[edit]
Find the index of a string (needle) in an indexable, ordered collection of strings (haystack).

Raise an exception if the needle is missing.

If there is more than one occurrence then return the smallest index to the needle.

Extra credit
Return the largest index to a needle that has multiple occurrences in the haystack.

See also
 Search a list of records

 
haystack = ["alpha","bravo","charlie","delta","echo","foxtrot","golf",   
"hotel","india","juliet","kilo","lima","mike","needle",
"november","oscar","papa","quebec","romeo","sierra","tango", 
"needle","uniform","victor","whisky","x-ray","yankee","zulu"]
 
needle = "needle"
maxindex = len(haystack)
 
for index = 1 to maxindex
    if needle = haystack[index] exit ok
next
if index <= maxindex 
   see "first found at index " + index + nl ok
for last = maxindex to 0 step -1
    if needle = haystack[last] exit ok
next
if !=index see " last found at index " + last + nl
else see "not found" + nl ok
 