ara.t.howard / noaa.gov wrote:
> On Thu, 21 Dec 2006, Bil Kleb wrote:
>
>> OK, I give up, what's the elegant method to
>> grab the quoted substrings in the following,
>>
>> a = 'variables="x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", 
>> "mach"'
>>
>> I want an array like,
>>
>> ["x", "y", "z", ..., "mach"]
>>
>> The methods I've come up with so far are
>> embarrassingly hideous.
>
> easy:
>
>     harp:~ > cat a.rb
>     a = 'variables="x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", 
> "mach"'
>
>     variables = eval a
>
>     p variables
>
>
>     harp:~ > ruby a.rb
>     ["x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"]
>
>

As always, be wary of input to eval. Very wary:

    a = 'variables="x", "y", "z", "rho", "u", "v", ""; puts "blackhat!"; 
x = "", "w", "p/pinf", "s", "mach"'
    eval a

outputs

    blackhat!

Tom Werner