# Hash enumeration returning nulls?

**URL:** <https://www.ruby-forum.com/t/hash-enumeration-returning-nulls/185824>\
**Category:** Ruby\
**Created:** [March 26, 2010, 5:45pm UTC](https://www.ruby-forum.com/t/hash-enumeration-returning-nulls/185824 "2010-03-26T17:45:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![cczona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ea924/32.png) [@cczona](https://www.ruby-forum.com/u/cczona)\
**Post date:** [March 26, 2010, 5:45pm UTC](https://www.ruby-forum.com/t/hash-enumeration-returning-nulls/185824/1 "2010-03-26T17:45:48Z")

</div>

Okay, I must just be too sleep-deprived to see it. Why is Hash.each  
(and the other enumerables) returning nothing but nils when clearly  
the hash is being populated?

$foo={‘a’ =\> ‘1’, ‘b’=\> ‘2’}

puts $foo.length  
puts $foo.nil?  
puts $foo.keys  
puts $foo.values  
puts “\n\n”

$foo.each do |k, v|  
print $k, " and ", $v, “\n\n” # returns ‘nil and nil’  
end

Thank you.

---

<div class="post-metadata">

**Author:** ![cczona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ea924/32.png) [@cczona](https://www.ruby-forum.com/u/cczona)\
**Post date:** [March 26, 2010, 5:51pm UTC](https://www.ruby-forum.com/t/hash-enumeration-returning-nulls/185824/2 "2010-03-26T17:51:40Z")

</div>

On Fri, Mar 26, 2010 at 12:45 PM, cczona [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> puts “\n\n”
> 
> $foo.each do |k, v|  
> print $k, " and ", $v, “\n\n” # returns ‘nil and nil’  
> end
> 
> Thank you.

$k and $v are global variables, k and v are locals

I rarely use global variables (other than system globals). I’d  
rewrite the above code as

foo={‘a’ =\> ‘1’, ‘b’=\> ‘2’}

puts foo.length  
puts foo.nil?  
puts foo.keys  
puts foo.values  
puts “\n\n”

## foo.each do |k, v| print k, " and ", v, “\n\n” end

Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)  
WWR: [http://www.workingwithrails.com/person/9021-rick-denatale](http://www.workingwithrails.com/person/9021-rick-denatale)  
LinkedIn: [http://www.linkedin.com/in/rickdenatale](http://www.linkedin.com/in/rickdenatale)
