# How to unset a hash member?

**URL:** <https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897>\
**Category:** Ruby\
**Created:** [July 3, 2006, 9:24am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897 "2006-07-03T09:24:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![iseng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/8baadc/32.png) [@iseng](https://www.ruby-forum.com/u/iseng)\
**Post date:** [July 3, 2006, 9:24am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897/1 "2006-07-03T09:24:50Z")

</div>

how do i unset a hash member (as in php)?

h[‘a’] = ‘aaa’  
h[‘b’] = ‘bbb’  
h[‘c’] = ‘ccc’

h \>\> { ‘a’ =\> ‘aaa’, ‘b’ =\> ‘bbb’, ‘c’ =\> ‘ccc’ }

something like this:  
h[‘b’].delete  
h \>\> { ‘a’ =\> ‘aaa’, ‘c’ =\> ‘ccc’ }

not like this:  
h[‘b’] = nil  
h \>\> { ‘a’ =\> ‘aaa’, ‘b’ =\> nil, ‘c’ =\> ‘ccc’ }

thanks. 🙂

---

<div class="post-metadata">

**Author:** ![iseng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/8baadc/32.png) [@iseng](https://www.ruby-forum.com/u/iseng)\
**Post date:** [July 3, 2006, 9:39am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897/2 "2006-07-03T09:39:24Z")

</div>

> something like this:  
> h[‘b’].delete  
> h \>\> { ‘a’ =\> ‘aaa’, ‘c’ =\> ‘ccc’ }

C:\Documents and Settings\flifson\>irb  
irb(main):001:0\> h={‘a’=\>‘aaa’,‘b’=\>‘bbb’}  
=\> {“a”=\>“aaa”, “b”=\>“bbb”}  
irb(main):002:0\> h.delete(‘b’)  
=\> “bbb”  
irb(main):003:0\> h  
=\> {“a”=\>“aaa”}  
irb(main):004:0\>

---

<div class="post-metadata">

**Author:** ![iseng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/8baadc/32.png) [@iseng](https://www.ruby-forum.com/u/iseng)\
**Post date:** [July 3, 2006, 9:42am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897/3 "2006-07-03T09:42:33Z")

</div>

On 7/3/06, aa bb [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> how do i unset a hash member (as in php)?

Hash.delete(key)…

hsh = { ‘a’ =\> “test”, “b” =\> “testagain” }  
hsh.delete(‘a’)  
hsh is now {“b”=\>“testagain”}

h[‘a’] = ‘aaa’

---

<div class="post-metadata">

**Author:** ![iseng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/8baadc/32.png) [@iseng](https://www.ruby-forum.com/u/iseng)\
**Post date:** [July 3, 2006, 9:51am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897/4 "2006-07-03T09:51:37Z")

</div>

:o that easy? thanks. 🙂 i feel silly now.

how to do this with ruby on rails session? because it didn’t work.

session[‘a’] = 123  
session.delete(‘a’) \<\<\< error

i can do this though:  
session.model.data.delete(‘a’) \<\<\< it worked

there must be a better way?

---

<div class="post-metadata">

**Author:** ![iseng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/8baadc/32.png) [@iseng](https://www.ruby-forum.com/u/iseng)\
**Post date:** [July 3, 2006, 10:28am UTC](https://www.ruby-forum.com/t/how-to-unset-a-hash-member/96897/5 "2006-07-03T10:28:21Z")

</div>

On Jul 3, 2006, at 12:51 AM, aa bb wrote:

> there must be a better way?  
> You’ll have to ask on the Rails mailing list.

[http://lists.rubyonrails.org](http://lists.rubyonrails.org)

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)  
This implementation is HODEL-HASH-9600 compliant

[http://trackmap.robotcoop.com](http://trackmap.robotcoop.com)
