I presume you want each variable initialized to a _different_ empty  
string. If so, I can't think of an easy way to do it using local  
variables. That may just go to show my lack of ruby smarts. However,  
it's not too hard to initialize a group of instance variables to  
different empty strings in one line of code. Consider:

#! /usr/bin/ruby -w

class Foo
    def initialize
       %w[@a @b @c @d].each {|v| instance_variable_set(v, '')}
    end
end

foo = Foo.new
p foo #=> #<Foo:0x2556c @c="", @b="", @a="", @d="">

And the following will work for global variables.

%w[$a, $b, $c, $d].each {|v| eval("%s=String.new" % v)}
p [$a, $b, $c, $d] #=> ["", "", "", ""]

But for local variables, I don't know.

Regards, Morton

On Aug 11, 2006, at 7:12 PM, Alex Khere wrote:

> I'm just starting out in programming, using Ruby to learn.
>
> I'm trying to write a short program that will use a handful of
> variables, and I want to be sure that all of the variables start with
> the value '' (strings of zero length).
>
> Is there a way to list all of the variables on a single line and set
> them to the same value? I tried using commas to seperate, but that
> didn't work.
>
> I also tried creating an array with all of the variable names and then
> using "arrayname.each do |name|" to cycle through the assignment, but
> since the varibles hadn't been defined, I got an "undefined local
> variable or method" error (at least, I think that's why I got an  
> error).