I love it, thanks! :)

Staffan


On Thu, Feb 7, 2013 at 11:53 PM, Rick McGuire <object.rexx@gmail.com> wrote:
The equality test is done using the "==" method.  If you do the query using an object that overrides "==", you can get the behavior you want.  Here's a simple example:

a = .array~of("Rick", "Mark", "David")

i = a~index(.caselessIndex~new("mark"))
say i

::class caselessIndex
::method init
  expose string
  use arg string

::method "=="
  expose string
  use arg other
  return string~caselessCompare(other) == 0

Rick