From: Ara.T.Howard@... Date: 2005-06-04T07:10:24+09:00 Subject: Re: Read OpenStruct attribute name from variable On Fri, 3 Jun 2005, Oliver Cromm wrote: > Can't find that discussed anywhere, but maybe I just don't know how to > look. > > I have lots of style parameters in an object. First, I implemented it as > a hash, so I have the method > > def set_style(stylepars) > stylepars.each {|key, val| @style[key] = val} > end > > Now I want to exchange the Hash for an OpenStruct, because it's much > easier on the eyes in statements like this: > > sepline = @style['verticalsep'] + sepline + > @style['horizontalsep']*@style['padding'] + > @style['verticalsep'] if @style['box'] > > But how can I set "the attribute whose name is in the variable *key*"? key = 'foo' value = open_struct.send 'foo' open_struct.send "#{ foo }=", value hth. -a -- =============================================================================== | email :: ara [dot] t [dot] howard [at] noaa [dot] gov | phone :: 303.497.6469 | My religion is very simple. My religion is kindness. | --Tenzin Gyatso ===============================================================================