http://greyblake.com/blog/2012/08/10/unexpected-ruby-behaviour/
不错
果然,在没定义 m 的时候执行m = 'test' if !defined? m之后,m 成了nil
m = 'test' if !defined? m
nil
这些是 bug?