class Object
  def method_missing(name, *args)
    if name[-1] == '='
      nam = name.to_s[0...-1]
      if instance_variables.map{|x|x.to_s}.include? "@#{nam.to_s}"
        raise "undefined method `#{name}' for #<#{self.class}:#{self.object_id}>"
      else
        instance_variable_set("@#{nam}", args[0])
      end
    else
      if instance_variables.map{|x|x.to_s}.include? "@#{name.to_s}"
        instance_variable_get("@#{name}".to_s)
      else
        raise "undefined method `#{name}' for #<#{self.class}:#{self.object_id}>"
      end
    end
  end
end

class Person
end

p = Person.new
p.haha = 3
p p.haha