# Hash key to var name of value hash key value

**URL:** <https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640>\
**Category:** Ruby\
**Created:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640 "2006-08-15T14:12:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/1 "2006-08-15T14:12:07Z")

</div>

i’d like to now if their is a simpler way to do that :

IN\_NEWS=@h[‘IN\_NEWS’]

because here i do have to know their is a key of name “IN\_NEWS”

want i want is to affet the value of all the @h[‘key\_name’] to the  
variable key\_name ???

(as far as i remember well it’s possible in php then i think this is  
also possible in ruby ))))

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/2 "2006-08-15T14:12:08Z")

</div>

Une bévue wrote:

> also possible in ruby ))))  
> Thinking out loud…

hash.each\_key{|k|  
eval("#{k}=hash[#{k}]")  
}

There may be a better way, though…

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/3 "2006-08-15T14:12:13Z")

</div>

On 8/10/06, Alex Y. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> hash.each\_key{|k|  
> eval(“#{k}=hash[#{k}]”)  
> }

hash.each\_pair {|k,v|  
Object.const\_set(k, v)  
}

martin

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/4 "2006-08-15T14:12:42Z")

</div>

Martin DeMello [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> hash.each\_pair {|k,v|  
> Object.const\_set(k, v)  
> }

fine thanxs to both of them !!!

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:13pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/5 "2006-08-15T14:13:25Z")

</div>

On Thu, 10 Aug 2006, [ISO-8859-1] Une bévue wrote:

> (as far as i remember well it’s possible in php then i think this is  
> also possible in ruby ))))

define\_method(‘key\_name’){ @h[‘key\_name’ }

-a

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [August 15, 2006, 2:14pm UTC](https://www.ruby-forum.com/t/hash-key-to-var-name-of-value-hash-key-value/64640/6 "2006-08-15T14:14:19Z")

</div>

[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> define\_method(‘key\_name’){ @h[‘key\_name’ }

ok fine, may it’s the best ?
