From: Logan Capaldo Date: 2007-03-23T08:50:19+09:00 Subject: Re: #define alternative for Ruby > set_default(var, val) > -- if variable "var" is not defined (not existed) then assign value > "val" > require 'binding_of_caller' # google for this, you need call_stack # or equiv for ruby >= 1.8.5 def set_default( var, val ) Binding.of_caller do |b| eval("#{var} = #{val} unless #{var}", b) end end set_default( "a", "7" )