public Method

Object.instance_variable_defined?(p1)

obj.instance_variable_defined?(symbol)     true or false

Returns true if the given instance variable is defined in obj.

class Fred
  def initialize(p1, p2)
    @a, @b = p1, p2
  end
end
fred = Fred.new('cat', 99)
fred.instance_variable_defined?(:@a)    #=> true
fred.instance_variable_defined?("@b")   #=> true
fred.instance_variable_defined?("@c")   #=> false

Source Code

/*
*  call-seq:
*     obj.instance_variable_defined?(symbol)    => true or false
*
*  Returns <code>true</code> if the given instance variable is
*  defined in <i>obj</i>.
*
*     class Fred
*       def initialize(p1, p2)
*         @a, @b = p1, p2
*       end
*     end
*     fred = Fred.new('cat', 99)
*     fred.instance_variable_defined?(:@a)    #=> true
*     fred.instance_variable_defined?("@b")   #=> true
*     fred.instance_variable_defined?("@c")   #=> false
*/

static VALUE
rb_obj_ivar_defined(obj, iv)
   VALUE obj, iv;
{
   ID id = rb_to_id(iv);

   if (!rb_is_instance_id(id)) {
       rb_name_error(id, "`%s' is not allowed as an instance variable name", rb_id2name(id));
   }
   return rb_ivar_defined(obj, id);
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.