instance_variables
インスタンス バリアブルズ(オブジェクト指向プログラミング)
意味 オブジェクトの状態を保持
instance_variablesとは?
instance_variablesは、オブジェクトのインスタンス変数の名前を配列で返すメソッドです。インスタンス変数は、オブジェクトの状態を保持するために使われ、そのオブジェクト固有のデータを格納します。
instance_variablesの具体的な使い方
インスタンス変数の一覧取得
class Product
def initialize(name, price)
@name = name
@price = price
@created_at = Time.now
end
def show_variables
puts "このオブジェクトのインスタンス変数:"
instance_variables.each do |var|
puts "#{var}: #{instance_variable_get(var)}"
end
end
end
product = Product.new('ノートPC', 80000)
product.show_variables
👇出力結果
このオブジェクトのインスタンス変数:
@name: ノートPC
@price: 80000
@created_at: 2023-05-20 12:34:56 +0900
この例では、Productクラスを定義し、インスタンス変数@name、@price、@created_atを持たせています。show_variablesメソッドでinstance_variablesを使用し、各インスタンス変数の名前と値を表示しています。
動的なインスタンス変数の追加と確認
class DynamicObject
def add_variable(name, value)
instance_variable_set("@#{name}", value)
end
def show_variables
puts "現在のインスタンス変数:"
p instance_variables
end
end
obj = DynamicObject.new
obj.show_variables
obj.add_variable('color', 'red')
obj.add_variable('size', 'large')
obj.show_variables
👇出力結果
現在のインスタンス変数:
[]
現在のインスタンス変数:
[:@color, :@size]
この例では、DynamicObjectクラスを定義し、動的にインスタンス変数を追加できるようにしています。add_variableメソッドで新しいインスタンス変数を追加し、show_variablesメソッドでinstance_variablesを使用して現在のインスタンス変数の一覧を表示します。
instance_variablesに関するよくある質問
instance_variablesが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのinstance_variablesやnew、undef、kind_of?、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!