--8323329-1806310257-12562327320902
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1806310257-1256232732=:10902"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1806310257-12562327320902
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

On Fri, 23 Oct 2009, [ISO-8859-1] Jes Gabriel y Gal wrote:

> On Thu, Oct 22, 2009 at 6:07 PM, Paul Smith <paul / pollyandpaul.co.uk> wrote:
>> 2009/10/22 Jes Gabriel y Gal <jgabrielygalan / gmail.com>:
>>> On Thu, Oct 22, 2009 at 5:24 PM, Mmcolli00 Mom <mmc_collins / yahoo.com> wrote:
>>>> Do you know how I can convert or replace any value that gets back a
>>>> 'nil' to 0?
>>>>
>>>> For instance, the myArrayVal[0] may or may not contain a number and I
>>>> want the code to default to 0 if a nil is returned. I have not found any
>>>> documentation on this.
>>>
>>> irb(main):001:0> array = []
>>> => []
>>> irb(main):002:0> value = array[0] || 0
>>> => 0
>>> irb(main):003:0> value
>>> => 0
>>>
>>> Hope this helps,
>>
>> Though that will of course convert false too.
>
> Sure, if you can have in the array things that are not numbers I think
> to_i as Gregory suggested should work in general. Or you can do it
> more explicitly like this:
>
> value = array[0].nil? ? 0 : array[0]
>

Or, being very evil......

class Array
   idx = self.instance_method(:[])
   define_method(:[]) do |x|
     n=idx.bind(self).call(x)
     return n.nil? ? 0 : n
   end
end

(this is based off of 
http://blog.jayfields.com/2006/12/ruby-alias-method-alternative.html )

Matt
--8323329-1806310257-12562327320902--
--8323329-1806310257-12562327320902--