From: "Damián M. González" Date: 2013-05-15T09:04:40+09:00 Subject: defined?() confussion Hi guys. Can you tell me why does this happen? if 1.==(2) c = 3 else b = 5 end defined?(c) #=> "local-variable" I was expecting nil, because the thread doesn't pass trough the second line, 1 is not equal to 2. Seems that Ruby gives the value nil to c, so Ruby creates the object in RAM, will be garbage collected after, of course. Why does this happen? it is not a waste of resources? -- Posted via http://www.ruby-forum.com/.