Rubyリファレンス: Home

instance_variable_defined? (Object)

Edit   History

標準クラス・モジュール > Object > instance_variable_defined?

obj.instance_variable_defined?(name)

instance_variable_defined?メソッドは、レシーバのオブジェクトにインスタンス変数があるかどうか調べます。引数nameにはインスタンス変数の名前を:@title"@title"のようにシンボルか文字列で渡します。その名前のインスタンス変数が定義されていればtrueを、そうでなければfalseを返します。

引数に:titleのようにインスタンス変数と見なされない名前を渡すと例外NameErrorが発生します。

class Book
  def initialize(title)
    @title = title
  end
end
 
book = Book.new("Programming Ruby")
p book.instance_variable_defined?(:@title)
p book.instance_variable_defined?(:@price)
true
false

関連項目