From: Ezra Zygmuntowicz Date: 2006-11-05T04:26:58+09:00 Subject: Re: Accessing instance vars in a block? On Nov 4, 2006, at 11:24 AM, Joe Ruby MUDCRAP-CE wrote: > I'm using rmagick: > > img.write(self.path) { self.quality = @quality } > > @quality is nil inside the block. How can I access its value inside > the > block? I saw there's apparently a "variable" keyword, but that > causes an > error: > > img.write(self.path) { > variable @quality > self.quality = @quality > } > > Thanks, > Joe It looks like maybe ImageMagick is using instance_eval inside that block. This is why the @instance vars don't work inside of there. The ugly workaround is to use local variables: quality = @quality img.write(self.path) { self.quality = quality } Cheers -- Ezra Zygmuntowicz -- Lead Rails Evangelist -- ez@engineyard.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)