Re: How to compare a hash key with a string value

Jonathan Fagan <[email protected]> Wed, 23 Oct 2019 10:48:07 -0700
Newsgroups gmane.comp.lang.ruby.general
Message-ID <CADJpZDiRDxQT8YUA0OJdEXC6-47bGmDRHe1xEzwjbp6r-=6-mw@mail.gmail.com>
I am not 100% clear on the question, but you could possibly just do
something like this?

hash.each_with_index do |person, i|
 puts "Person is #{i}"

 if person.has_key?('width')
   puts "The value of width is #{person['width']}"
 end

end

On Wed, Oct 23, 2019 at 10:36 AM Tran, Minh <[email protected]>
wrote:

> Hello,
>     I am having a scenario which I want to print out the value of a hash
> element when its key equals to a string value such as "width".
> I try several alternatives but so far I have had a good result.
> So if you know on how to do , please share it with me.
>
> My hash table array looks like as the following:
>
> hash =
> [{"label":"Name","value":"Bob","identifier":"field2","type":"oneLineText","page":1,"page_name":"Step
> 1","width":"100%"},{"label":"Email","value":"[email protected]","identifier":"field3","type":"email","page":1,"page_name":"Step
> 1","width":"100%"},{"label":"Phone
> Number","value":"","identifier":"field7","type":"oneLineText","page":1,"page_name":"Step
> 1","width":"100%"},{"label":"Comments","value":"some information about the
> compagny","identifier":"field5","type":"textarea","page":1,"page_name":"Step
> 1","width":"100%"}]
>
>
> My Ruby code is as the following where I need to print out the hash value
> when the hash key equals to "width"
>
>
> i = 0
> hash.each do |person|
>  i += 1
>  puts "Person is #{i}"
>  person.each do |key, value|
>
>     if key == "width"
>       puts "The value of width is #{value}"
>     end
>
>
>   end
> end
>
>
>
> Thanks in advance for all of the helps.
> Dun
>
>
> ------------------------------
>
> This e-mail message (including any attachments) is for the sole use of
> the intended recipient(s) and may contain confidential and privileged
> information. If the reader of this message is not the intended
> recipient, you are hereby notified that any dissemination, distribution
> or copying of this message (including any attachments) is strictly
> prohibited.
>
> If you have received this message in error, please contact
> the sender by reply e-mail message and destroy all copies of the
> original message (including attachments).
>
> Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>
>


Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>