From: "Mehr, Assaph (Assaph)" Date: 2004-08-20T11:26:53+09:00 Subject: Re: Shortest if Assignment Statement > hsh = { '*' => '(*)' , 'a' => '(1){2}' } > val = "b" > a = hsh[ val ] or hsh['*'] #to give me, a = '(*)' > val = "a" > a = hsh[ val ] or hsh['*'] #to give me, a = '(1){2}' Not a generic answer, but in this case why don't you use Hash#default ?