From: "Jean-François Trân" Date: 2008-01-18T21:15:17+09:00 Subject: Re: Create variables with caller scope Jari Williamsson : > Is it possible for a method to create new variables that > becomes in the scope of the caller (instead of the scope > of the method)? I guess I mean to get a method to behave > much like macros or templates in C/C++. Why not using a block ? > Something like this: > --- > def create_some_variables(varname1, varname2) > # Create the variables and initialize with values > end def create_some_variables(*args) # Create object_1 and object_2 and initialize with values # ... # pass them to the block yield object_1, object_2 if block_given? end > create_some_variables("a", "b") > # Display the values of those variables > puts a > puts b create_some_variables(...) do |a,b| # Display the values of those variables puts a puts b # do something with a and b # ... end -- Jean-François.