Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby pushing to a hash

Tags:

ruby

hash

I have a two part question and I apologize in advance if it is confusing at all. I'm trying to put user input into an empty hash. I know with an array you use the << to push the info to it. Is there a hash equivalent to this?

2nd part: Say I was just looping them the same question until a condition is met. The user input is going to be the value. Is there a way/method to make the key automatically change per the user input? So it would look something like: {str1 => "example string", str2 => "example string2", str3 => "example string3"}

Or is there a way to have ruby assign a key on its own?

Sorry again if the second part is confusing. I know an array would be better but the little challenge I am working is asking for a hash.

like image 212
FlapsMack Avatar asked Jun 24 '26 17:06

FlapsMack


2 Answers

Another way to add element to ruby hash store(key, value)

hash = {}
hash.store("first", 42)
hash #=> {"first"=>42}
like image 183
mrvncaragay Avatar answered Jun 26 '26 06:06

mrvncaragay


With an array you use << to push a single element.

With a hash you are tracking not one element but two (both the key and value).

So for example:

my_key = "foo"
my_val = "bar"
my_hash = {}
my_hash[key] = val

Sure, you can do this in a loop.

I would recommend RubyMonk to learn more about this but their website is down. So I can recommend this gist which shows some examples or simply read the Hash section of any ruby tutorial.

like image 21
max pleaner Avatar answered Jun 26 '26 06:06

max pleaner



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!