On Jan 5, 2009, at 1:17 AM, Tomasz Krakowski wrote:

>
>> I don't see an obvious problem with the code, so I suggest we start  
>> by
>> validating ParsePING().  Without using HighLine at all, can you just
>> manually call it with a few different parameters and make sure it is
>> doing what you expect?
>>
>> James Edward Gray II
> Parseping is working well, here is it:

OK, if you trust it, we will take it out of our consideration.

> I think there may be something with HighLine...:(

Let's try to rule that out then.  Here is pretty much your original  
code, minus ParsePING() and your ip variable:

#!/usr/bin/env ruby -wKU

require "rubygems"
require "highline/import"

MENU = { :one => lambda { puts "You chose 'one.'" },
          :two => lambda { puts "You chose 'two.'" } }

choose do |menu|
   menu.prompt = "Please choose your test:  "
   MENU.each do |name, code|
     menu.choice(name, "Help for #{name}") do
       code.call
     end
   end
end

__END__

That works as I expect it to.  Is it the same for you?

That leaves the ip variable as our most likely candidate of problems.   
Did you perhaps accidentally load it with code similar to the following?

#!/usr/bin/env ruby -wKU

ip = Array.new(2, Array.new)
p ip
ip[0][0] = "Double"
p ip

__END__

Anyway, I recommend making sure that variable holds what you think it  
does.

James Edward Gray II