"Tod McIntyre" <todmcintyre / gmail.com> wrote in message 
news:da9c35364b80a5c4e9e603e0db41190a / ruby-forum.com...
> This is quite embarassing because I Don't consider myself a poor
> programmer, but I just started looking at ruby the other day.
>
> Blocks seem to be a good way to iterate through something to search for
> an entry for instance.  It's easy to return the object that meets
> certain criteria using blocks but I'm finding it hard to return the
> index of that particular object in, say, an array.
>
> as an example
>
> arr=[4,1,3,7]
> arr.find { |f| f==someval }
> will return the val within arr that matches someval, which doesn't
> really help me because I already have someval

Yeah, but this is just a special case. With a block you can employ 
arbitrary selection criteria - not just ==.

> How do I actually return the index in arr to the first match of someval.
>
> so if someval == 3, my block would return 2, for the above example

As Ross and Daniel have pointed out already, use #index.

Kind regards

    robert