From: Matt Todd Date: 2006-08-13T11:56:11+09:00 Subject: Re: Simple question regarding hashes x1: Yes, you can do that. asdf = { :letters => ( 1 == 1 ? 'yes' : 'no' ) } That will give asdf the hash: { :letters => 'yes' } I probably wouldn't use a Proc for something like this... just doesn't seem to be appropriate. You could always define a quick little method for evaluating a block inline if you wanted a particularly semantic option: def render yield end used like: a = { :letters => render { 1 == 1 ? 'yes' : 'no' } } or, maybe you want something a little different..? def pick a, b ((yield) ? a : b) end used like: a = { :letters => pick('yes','no') { 1 == 1 } } But that's completely up to you. M.T.