# How to create mutiple hash dynamicaly

**URL:** <https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734>\
**Category:** Ruby\
**Created:** [March 25, 2010, 11:34am UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734 "2010-03-25T11:34:25Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 11:34am UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/1 "2010-03-25T11:34:25Z")

</div>

Hi i am having two arrays and i have append into a hash like this.Please  
help me.

```
{:name=>"Databases",:url=>"http://www.examplw.com"},
{:name=>"Network management",:url=>"http://www.examplw.com"},
{:name=>"Security",:url=>"http://www.examplw.com"},
{:name=>"Service",:url=>"http://www.examplw.com"}
{:name=>"Storage",:url=>"http://www.examplw.com/"}
```

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 11:45am UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/2 "2010-03-25T11:45:50Z")

</div>

On Mar 25, 10:34 am, Nike M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi i am having two arrays and i have append into a hash like this.Please  
> help me.
> 
> ```
> {:name=>"Databases",:url=>"http://www.examplw.com"},
> {:name=>"Network management",:url=>"http://www.examplw.com"},
> {:name=>"Security",:url=>"http://www.examplw.com"},
> {:name=>"Service",:url=>"http://www.examplw.com"}
> {:name=>"Storage",:url=>"http://www.examplw.com/"}
> 
> ```
> 
> –  
> Posted viahttp://www.ruby-forum.com/.

You need to provide more information before anyone can help you. Your  
intentions aren’t clear from this message. What exactly are you trying  
to do?

Regards,  
Lee

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 12:23pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/3 "2010-03-25T12:23:51Z")

</div>

Lee J. wrote:

> On Mar 25, 10:34ï¿½am, Nike M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Hi i am having two arrays and i have append into a hash like this.Please  
> > help me.
> > 
> > ## {:name=\>“Databases”,:url=\>“[http://www.examplw.com](http://www.examplw.com)”}, {:name=\>“Network management”,:url=\>“[http://www.examplw.com](http://www.examplw.com)”}, {:name=\>“Security”,:url=\>“[http://www.examplw.com](http://www.examplw.com)”}, {:name=\>“Service”,:url=\>“[http://www.examplw.com](http://www.examplw.com)”} {:name=\>“Storage”,:url=\>“[http://www.examplw.com/](http://www.examplw.com/)”}
> > 
> > Posted viahttp://www.ruby-forum.com/.
> 
> You need to provide more information before anyone can help you. Your  
> intentions aren’t clear from this message. What exactly are you trying  
> to do?
> 
> Regards,  
> Lee

How to create mutiple hash like this

[{:a=\>‘1’,:b=\>‘10’}{:a=\>‘11’,:b=\>‘101’}]

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 12:33pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/4 "2010-03-25T12:33:51Z")

</div>

On Thu, Mar 25, 2010 at 12:23 PM, Nike M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > > –
> 
> [{:a=\>‘1’,:b=\>‘10’}{:a=\>‘11’,:b=\>‘101’}]

It would be clearer if you specified with a code example the input  
data and the expected output (btw, the above is not correct syntax).  
But I’ll take a stab:

irb(main):001:0\> first\_array = [“Databases”, “Network Management”,  
“Security”]  
=\> [“Databases”, “Network Management”, “Security”]  
irb(main):002:0\> second\_array = [“[http://databases](http://databases)”, “[http://network](http://network)”,  
“[http://security](http://security)”]  
=\> [“[http://databases](http://databases)”, “[http://network](http://network)”, “[http://security](http://security)”]  
irb(main):004:0\> first\_array.zip(second\_array).inject([]) {|result,  
(k,v)| result \<\< {k =\> v}; result}  
=\> [{“Databases”=\>“[http://databases](http://databases)”}, {“Network  
Management”=\>“[http://network](http://network)”}, {“Security”=\>“[http://security](http://security)”}]

Is that what you want?

Jesus.

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 12:35pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/5 "2010-03-25T12:35:01Z")

</div>

2010/3/25 JesÃºs Gabriel y GalÃ¡n [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > > > {:name=\>“Storage”,:url=\>“[http://www.examplw.com/](http://www.examplw.com/)”}  
> > > > How to create mutiple hash like this  
> > > > “[http://security](http://security)”]  
> > > > =\> [“[http://databases](http://databases)”, “[http://network](http://network)”, “[http://security](http://security)”]  
> > > > irb(main):004:0\> first\_array.zip(second\_array).inject([]) {|result,  
> > > > (k,v)| result \<\< {k =\> v}; result}  
> > > > =\> [{“Databases”=\>“[http://databases](http://databases)”}, {“Network  
> > > > Management”=\>“[http://network](http://network)”}, {“Security”=\>“[http://security](http://security)”}]

Sorry, I meant this:

irb(main):005:0\> first\_array.zip(second\_array).inject([]) {|result,  
(k,v)| result \<\< {:name =\> k, :url =\> v}; result}  
=\> [{:url=\>“[http://databases](http://databases)”, :name=\>“Databases”},  
{:url=\>“[http://network](http://network)”, :name=\>“Network Management”},  
{:url=\>“[http://security](http://security)”, :name=\>“Security”}]

Jesus.

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 12:32pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/6 "2010-03-25T12:32:41Z")

</div>

Something like

a = Array.new

(1…10).each do |x|  
a \<\< { :name =\> x, :value =\> rand()}  
end

gives

[  
{:value=\>0.275365921616629, :name=\>1},  
{:value=\>0.908041472109624, :name=\>2},  
{:value=\>0.456925255668977, :name=\>3},  
{:value=\>0.960411659941877, :name=\>4},  
{:value=\>0.322421277822909, :name=\>5},  
{:value=\>0.566391285531641, :name=\>6},  
{:value=\>0.658230197869362, :name=\>7},  
{:value=\>0.319688834896862, :name=\>8},  
{:value=\>0.0955639492351847, :name=\>9},  
{:value=\>0.794232897318298, :name=\>10}  
]

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 12:36pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/7 "2010-03-25T12:36:47Z")

</div>

> > irb(main):001:0\> first\_array = [“Databases”, “Network Management”, “Security”]  
> > =\> [“Databases”, “Network Management”, “Security”]  
> > irb(main):002:0\> second\_array = [“[http://databases](http://databases)”, “[http://network](http://network)”,  
> > “[http://security](http://security)”]  
> > =\> [“[http://databases](http://databases)”, “[http://network](http://network)”, “[http://security](http://security)”]

Sorry for the third post in a row, but this is much better done like  
this:

irb(main):006:0\> first\_array.zip(second\_array).map {|(k,v)| {:name =\>  
k, :url =\> v}}  
=\> [{:url=\>“[http://databases](http://databases)”, :name=\>“Databases”},  
{:url=\>“[http://network](http://network)”, :name=\>“Network Management”},  
{:url=\>“[http://security](http://security)”, :name=\>“Security”}]

Jesus.

---

<div class="post-metadata">

**Author:** ![nike](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@nike](https://www.ruby-forum.com/u/nike)\
**Post date:** [March 25, 2010, 3:47pm UTC](https://www.ruby-forum.com/t/how-to-create-mutiple-hash-dynamicaly/185734/8 "2010-03-25T15:47:26Z")

</div>

Thanks for all replies
