LoginSignup
2
1

More than 3 years have passed since last update.

Ruby インスタンス変数 の 値 を 順に出力する

Posted at

目的

  • インスタンス変数を出力する方法を知る。

書き方の例

  • クラスAにはインスタンス変数bcが定義されるものとする。
  • インスタンス変数cの値を順に出力したい。
  • インスタンス12の2個作成するものとする。
  • クラスAから生成したインスタンスのインスタンス変数bcには任意の値が入っているものとする。
  • 下記に処理を記載する。
# クラスAを定義
class A

  # 変数string_1にインスタンス1の内容を格納
  string_1 = A.new(b: "インスタンス変数bに格納される値", c: "インスタンス変数cに格納される値")

  # 変数string_2にインスタンス2の内容を格納
  string_2 = B.new(b: "インスタンス変数bに格納される値", c: "インスタンス変数cに格納される値")

  # 変数stringsに変数string_1とstring_2の内容を配列として格納
  strings = [string_1, string_2]

  # 変数stringsに配列状に格納された内容を一つづつ変数stringに格納
  strings.each do |string|

    # 変数stringに格納された内容のインスタンス変数cのみを出力
    puts string.c

  # each文を閉じる
  end

# クラス定義を閉じる
end

より具体的な例

  • クラスMenuにはインスタンス変数contentpriceが定義されるものとする。
  • インスタンス変数contentの値を順に出力したい。
  • インスタンス12の2個作成するものとする。
  • クラスMenuから生成したインスタンス1のインスタンス変数contentには、文字列「お肉100g」が格納され、インスタンス変数priceには文字列「100円」を格納する。
  • クラスMenuから生成したインスタンス2のインスタンス変数contentには、文字列「お魚1尾」が格納され、インスタンス変数priceには文字列「150円」を格納する。
  • 下記に処理を記載する。
# クラスMenuを定義
class Menu

  # 変数menu_1にインスタンス1の内容を格納
  menu_1 = Menu.new(content: "お肉100g", price: "100円")

  # 変数menu_2にインスタンス2の内容を格納
  menu_2 = Menu.new(content: "お魚一尾", price: "150円")

  # 変数menusに変数menu_1とmenu_2の内容を配列として格納
  menus = [menu_1, menu_2]

  # 変数menusに配列状に格納された内容を一つづつ変数menuに格納
  menus.each do |menu|

    # 変数menuに格納された内容のインスタンス変数cのみを出力
    puts menu.content

  # each文を閉じる
  end

# クラス定義を閉じる
end
  • 下記に前述の処理のコメント無しバージョンを記載する。
class Menu
  menu_1 = Menu.new(content: "お肉100g", price: "100円")
  menu_2 = Menu.new(content: "お魚一尾", price: "150円")
  menus = [menu_1, menu_2]
  menus.each do |menu|
    puts menu.content
  end
end
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1