LoginSignup
1
1

More than 3 years have passed since last update.

【Ruby】クラスを定義する/インスタンスをあれこれする

Posted at

この記事の概要

・Rubyについて、Progateで学んだことを書き記す
・ガチ初心者によるもの
・主に備忘録として、随時書き足していく

項目

クラスの使用

Class Menu
    attr_accessor:name  //Menuクラスが持つインスタンス
    attr_accessor:price  //Menuクラスが持つインスタンス
end

menu1 = Menu new //Menuクラスからインスタンスを生成し、変数Menu1に代入
menu1.name = "pizza" //Menuクラスのインスタンス変数であるnameに値を代入
puts menu1.name

実行結果)pizza

 インスタンスメソッドの利用

Class Menu
    attr_accessor:name
    attr_accessor:price

  def show  //Menuクラス内でメソッドを定義(=インスタンスメソッド)
    puts "today's menu"
  end
end

menu1 = Menu.new
menu1.show  //インスタンスメソッド呼び出し

実行結果)today's menu

インスタンス変数の利用

class Menu
  def show_name
    puts "My name is #{self.name}"
  end
end

menu1 = Menu.new
menu1.name = "tanaka" //インスタンス変数に値を代入
menu1.show_name  //インスタンスメソッドの呼び出し

IF文を含んだインスタンスメソッド呼び出し例

class Menu
  attr_accessor :name
  attr_accessor :price

  def info
    return "#{self.name} #{self.price}円"
  end

  # get_total_priceメソッドを定義
  def get_total_price(count)
    total_price = self.price * count
      if count >= 3
        total_price = total_price - 100
      end
    return total_price
  end
end

menu1 = Menu.new
menu1.name = "ピザ"
menu1.price = 800

# menu1に対してget_total_priceメソッドを呼び出し、その戻り値を出力
puts menu1.get_total_price(3)

1
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
1
1