From: Morton Goldberg Date: 2006-08-12T13:21:04+09:00 Subject: Re: Beginner's question: assigning same value to many variables 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 #=> # 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).